我想知道如何加密我在SQL Server 2008中的密碼列。我已閱讀this文章,但我仍然不知道如何...有一個更容易理解的教程?謝謝!加密SQL Server 2008中的密碼列
回答
通常的做法是存儲密碼的散列。像:
HASHBYTES('SHA1', convert(varbinary(32), @password))
使用散列,您可以驗證密碼是否匹配,但您不知道密碼本身。所以即使黑客獲得了對數據庫的完全訪問權限,他仍然不知道密碼。
有很多教程on the web。
這也是一個不錯的主意鹽值。隨機(crytographically強)int或bigint可以很好地工作。 – Yuck 2011-05-04 18:43:56
我將如何檢查憑證?我通常使用If ProfileDataset.Tables(「RO_User」)。Rows.Count = 1和strPassword.ToString <> ProfileDataset.Tables(「RO_User」)。行(0).Item(「User_psw」)。ToString Then ...但現在沒有地方讓我放置哈希函數 – user133466 2011-05-04 19:01:00
@ user133466:以與原始密碼相同的方式哈希憑證。如果哈希匹配,字符串是相等的。 – Andomar 2011-05-04 19:21:40
您應該考慮存儲密碼散列而不是使用加密。如果你不瞭解這些差異,一個散列(也稱爲單向散列)會接收一個輸入併產生gobbledygook(稱爲散列),以便爲同一輸入生成相同的gobbledygook。身份驗證通過散列用戶在客戶端輸入的內容並將其與db中的gobbledygook進行比較。如果它們匹配,密碼是相同的。沒有深入細節,哈希永遠不能恢復爲純文本,這是他們的保護。然而,加密包括創建一個密碼,以便如果您有解密密鑰,則可以將密碼恢復爲純文本。
如果您使用的是SQL Server和ASP.NET,則應該使用SqlMembershipProvider查看Forms Authentication。
微軟做出這個超級容易與沒好氣命名
FormsAuthentication.HashPasswordForStoringInConfigFile
。
http://www.adventuresindevelopment.com/2009/05/23/a-simple-way-to-hash-passwords-in-aspnet/
- 1. sql server 2008密碼字段加密
- 2. SQL Server 2008列加密
- 3. 使用SQL Server 2008密碼散列CLR
- 4. SQL Server 2008加密連接
- 5. SQL Server中的密碼加密
- 6. 加密SQL Server中的列
- 7. SQL Server 2008中的對稱加密
- 8. SQL Server 2008中的加密丟失
- 9. SQL Server列加密
- 10. 'sa'在SQL Server 2008中更改密碼
- 11. SQL Server 2008本機SQL密碼恢復
- 12. 使用SHA1在Sql Server 2008上加密密碼
- 13. 瞭解SQL Server加密(通過密碼)?
- 14. 如何從MS SQL Server 2008中解密密碼?
- 15. SQL Server密碼
- 16. 在.Net中加密/解密Sql Server 2005加密列NET
- 17. SQL Server 2008中 - 透明數據加密未解密訪問
- 18. 如何加密SQL Server 2008數據庫
- 19. JPA和SQL Server列加密
- 20. 如何加密Sql Server 2008中的數字列?
- 21. 如何加密SQL Server 2008 R2中的列
- 22. 加密SQL Server中列中的數據
- 23. 如何在SQL Server 2008 R2中存儲散列密碼
- 24. 加密在SQL Server中的.NET /解密
- 25. 在SQL Server查詢中解密密碼
- 26. sql server中的數據庫列加密?
- 27. 加密SQL Server中的一列
- 28. 加密SQL Server列中的所有值
- 29. 更新SQL Server 2016中的加密列
- 30. xmlp-server-config.xml中的加密密碼
您的「本文」鏈接似乎已經離開了AWOL。 – 2011-05-04 18:30:58
哎呀,這裏去http://msdn.microsoft.com/en-us/library/ms179331.aspx – user133466 2011-05-04 18:32:30
@ user133466 - 你爲什麼不從源應用程序存儲密碼散列? – Thomas 2011-05-04 18:37:19