我需要为要发送给第 3 方的 XML 字符串创建一个键控散列。这是我正在使用的代码,但它产生的哈希值与第 3 方发送给我的示例不同。我已经阅读了所有可以找到的教程,并一次又一次地重新阅读 MSDN。我究竟做错了什么?还是我应该怀疑另一端有问题?
Public Shared Function HashString(ByVal StringToHash As String) As String
Dim myEncoder As New System.Text.UTF32Encoding
Dim Key() As Byte = myEncoder.GetBytes(My.Settings.PortalHASH)
Dim XML() As Byte = myEncoder.GetBytes(StringToHash)
Dim myHMACSHA256 As New System.Security.Cryptography.HMACSHA256(Key)
Dim HashCode As Byte() = myHMACSHA256.ComputeHash(XML)
Return Convert.ToBase64String(HashCode)
End Function
它需要进行 base-64 编码,这就是我有最后一行的原因。
谢谢