以上是VB.NET的SHA1哈希函数。
Function getSHA1Hash(ByVal strToHash As String) As String
Dim sha1Obj As New Security.Cryptography.SHA1CryptoServiceProvider
Dim bytesToHash() As Byte = System.Text.Encoding.ASCII.GetBytes(strToHash)
bytesToHash = sha1Obj.ComputeHash(bytesToHash)
Dim strResult As String = ""
For Each b As Byte In bytesToHash
strResult += b.ToString("x2")
Next
Return strResult
End Function
请有人解释上面的代码(Visual Basic .NET),特别是以下几行 -
bytesToHash = sha1Obj.ComputeHash(bytesToHash)
For Each b As Byte In bytesToHash
strResult += b.ToString("x2")
答案 0 :(得分:0)
SHA1创建表示值strToHash的哈希(字节数组)。 foreach只是将这个字节数组转换为字符串。
答案 1 :(得分:0)
创建一个包含哈希
的字节数组bytesToHash = sha1Obj.ComputeHash(bytesToHash)
遍历刚刚创建的每个字节
For Each b As Byte In bytesToHash
在字符串后附加每个字节的十六进制值
strResult += b.ToString("x2")
在ToString的十六进制格式中查看此内容:http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx#XFormatString