需要golang中以下C#代码的等效哈希实现。目前,我尝试过的所有方法均无法正常工作/给出相同的结果。
C#代码
{
string strHash = "";
byte[] message = Encoding.UTF8.GetBytes(strHashData);
UnicodeEncoding UE = new UnicodeEncoding();
byte[] hashValue;
SHA512Managed hashString = new SHA512Managed();
hashValue = hashString.ComputeHash(message);
foreach (byte x in hashValue)
{
strHash += String.Format("{0:x2}", x);
}
}
终于弄清楚了,终于工作了
strHashByte := []byte(strHashData)
hashValue := sha512.Sum512(strHashByte)
var checksum string
for _, val := range hashValue {
checksum += fmt.Sprintf("%02x", val)
}
校验和与strHash具有相同的值