BuildID SHA1是什么意思?


12

出现此问题时,我正在ubuntu unity终端窗口中浏览:

当我输入时:

file /bin/ls

输出为:

/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x214a38d0db472db559f0dabf0ae97f82fea83e03, stripped

我想验证sha1是否正确,因此输入了以下内容:

openssl sha1 /bin/ls

但是,输出是这样的:

SHA1(/bin/ls)= 8800fee57584ed1c44b638225c2f1eec818a27c2

虽然它们的长度相同(十六进制),但似乎不匹配。我错过了什么?还是BuildID[sha1]指其他?

Answers:


15

还是BuildID [sha1]引用其他内容?

BuildID不是二进制或与其相关的散列。它是生成该二进制文件的“构建”(或编译)会话的标识符。它主要用于调试目的,以便开发人员可以从会话号$ BuildID查看日志,环境等,并尝试解决问题,重现问题等。

顺便说一句,SHA1哈希值始终为160位:)


可以在构建工具缓存指纹中使用它吗?例如,scons可以只读取该id,而不必重新计算中间对象和库的MD5哈希值以用于依赖项检查。
2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.