为了账号安全,请及时绑定邮箱和手机立即绑定

为什么重复 Go Windows 构建会导致不同的校验和?

为什么重复 Go Windows 构建会导致不同的校验和?

Go
慕桂英3389331 2021-06-27 08:47:20
当我在 Mac 上使用 Go 构建某些东西时,二进制文件对于重复构建具有一致的 md5sum。但是,当我为 Windows 交叉编译或在 Windows 上本地构建时,我每次都会得到不同的校验和。发生了什么导致这种情况?[kbrandt@glade: ~/] GOOS=windows go build[kbrandt@glade: ~/] md5 -r tcollector.exef66dbec001eb0e02da261b4bc70d8072 tcollector.exe[kbrandt@glade: ~/] GOOS=windows go build[kbrandt@glade: ~/] md5 -r tcollector.exe630e89fa4907b6811a3d19c99dbac2dc tcollector.exe[kbrandt@glade: ~/] go build             [kbrandt@glade: ~/] md5 -r tcollector    0353160b4b000c7ba9d5331a72265291 tcollector[kbrandt@glade: ~/] go build         [kbrandt@glade: ~/] md5 -r tcollector0353160b4b000c7ba9d5331a72265291 tcollector
查看完整描述

2 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

Windows 输出中的某些内容取决于随机性或时间。

我不知道更多(比如它在使用什么改变)但没关系

编译器(即使是同一编译器的不同版本)生成的输出会有所不同,并且散列的设计使相似的事物不会产生相似的输出。

校验和就是这样,您可以使用它来检查您是否拥有文件并且它是正确的。

有点空答案,但您所看到的情况没有技术问题。


查看完整回答
反对 回复 2021-07-12
  • 2 回答
  • 0 关注
  • 184 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信