golang中C#需要等效的哈希码

问题描述 投票:-2回答:1

需要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);
                }
}
c# go hash cryptography
1个回答
0
投票

终于弄清楚了,终于工作了

    strHashByte := []byte(strHashData)
    hashValue := sha512.Sum512(strHashByte)
    var checksum string
    for _, val := range hashValue {
        checksum += fmt.Sprintf("%02x", val)
    }

校验和与strHash具有相同的值

© www.soinside.com 2019 - 2024. All rights reserved.