Visual Basic中SHA-1哈希函数的语法说明

时间:2013-10-15 09:41:12

标签: 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)
        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")

2 个答案:

答案 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