Vb.net visualbasic中SHA-1散列函数的语法解释

Vb.net visualbasic中SHA-1散列函数的语法解释,vb.net,visual-studio-2010,Vb.net,Visual Studio 2010,上面是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) bytesTo

上面是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
请有人解释一下上面的代码(visualbasic.NET),特别是下面的几行-

bytesToHash = sha1Obj.ComputeHash(bytesToHash)
For Each b As Byte In bytesToHash
strResult += b.ToString("x2")

SHA1创建一个表示strToHash值的哈希(字节数组)。foreach只是将这个字节数组转换成字符串。

创建一个包含哈希的字节数组

bytesToHash = sha1Obj.ComputeHash(bytesToHash)
循环遍历刚刚创建的每个字节

For Each b As Byte In bytesToHash
将每个字节的十六进制值附加到字符串

strResult += b.ToString("x2")
ToString的十六进制格式见此: