当我在 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]
是别的东西?
答案1
或者 BuildID[sha1] 指的是别的东西?
BuildID 不是二进制文件的哈希值,也不是与二进制文件相关的哈希值。它是生成该二进制文件的“构建”(或编译)会话的标识符。它主要用于调试目的,以便开发人员可以从会话号 $BuildID 查看日志、环境等,并尝试修复问题、重现问题等。
顺便说一句,任何东西的 SHA1 哈希值都是 160 位长:)