gpt4 book ai didi

c# - C#和golang的MD5不一致

转载 作者:IT王子 更新时间:2023-10-29 01:51:35 26 4
gpt4 key购买 nike

我正在尝试从 C# 移植算法。我需要的一个步骤是获取字节数组的 md5。我似乎无法在 C# 和 go 实现之间获得一致的哈希值。

在 C# 中我可以这样做:new MD5CryptoServiceProvider().ComputeHash(new byte[] { 5 }))

我得到 [139 182 193 120 56 100 63 150 145 204 106 77 230 197 23 9]

开始:md5.New().Sum([]byte{5})

产量:[5 212 29 140 217 143 0 178 4 233 128 9 152 236 248 66 126]

我是在做错什么,还是实现实际上不同。我需要能够在 go 端复制 C# 行为。

我有一些 fiddle 可用于 goc#如果你想检查我的整个实现。

最佳答案

您误用了 Sum 函数的输入。 sum 的输入参数用于存储输出,而不是作为 hash 的输入。直接使用 md5.Sum(如您所愿)或写入返回的 Hash 对象,如示例所示:http://golang.org/pkg/crypto/md5/#example_New

关于c# - C#和golang的MD5不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22765185/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com