使用this code和一个JavaScript散列和JavaScript端的等效.NET算法
Using sha As New SHA256Managed
Using memStream As New MemoryStream(Encoding.ASCII.GetBytes("Hello World!"))
Dim hash() As Byte = sha.ComputeHash(memStream)
Dim res As String = Encoding.Default.GetString(hash)
End Using
End Using
我已经无法重新创建与代码这两个比特具有相同的值相同的散列。
JavaScript实现返回7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069
,VB.NET示例返回ƒ±eñüS¹-ÁH¡Ö]ü-K£Öw(JÝÒ mi"
。
我错过了什么?我认为这是与字符编码有关?
解决方法:这是一个简单的变化:
Using sha As New SHA256Managed
Using memStream As New MemoryStream(Encoding.ASCII.GetBytes("Hello World!"))
Dim hash() As Byte = sha.ComputeHash(memStream)
Dim res As String = BitConverter.ToString(hash)
End Using
End Using
感谢您的帮助! – 2011-02-01 00:31:08