我继承了一个我需要支持的程序,并被告知密码使用 SHA1 哈希存储在 MSSQL 数据库中。当我尝试从数据库中读取数据时,我得到的只是“System.Byte []”。
该程序要求用户输入密码,我可以使用以下内容创建 SHA1 哈希:
Public Function GetSHA1HashData(data As String) As String
Dim cBase64 As String
Dim objSHA1 As New SHA1CryptoServiceProvider()
Dim abBytesToHash() As Byte
Dim cHash As String
cBase64 = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(data))
abBytesToHash = System.Text.Encoding.ASCII.GetBytes(cBase64)
cHash = BitConverter.ToString(objSHA1.ComputeHash(abBytesToHash))
cHash = Replace(cHash, "-", "")
Return cHash
End Function
所以我的问题是,如何将新创建的哈希值与我从数据库中提取的值进行比较,看看它们是否相同?我需要用“System.Byte []”做什么才能把它变成我可以阅读的东西?
谢谢。