Ver*_*ern 12 command-line openssl
当这个问题出现时,我正在 ubuntu 统一终端窗口中探索:
当我输入:
file /bin/ls
Run Code Online (Sandbox Code Playgroud)
输出是:
/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
Run Code Online (Sandbox Code Playgroud)
我想验证 sha1 是否正确,因此我输入了以下内容:
openssl sha1 /bin/ls
Run Code Online (Sandbox Code Playgroud)
但是,输出是这样的:
SHA1(/bin/ls)= 8800fee57584ed1c44b638225c2f1eec818a27c2
Run Code Online (Sandbox Code Playgroud)
虽然它们的十六进制长度相同,但它们似乎并不匹配。我错过了什么?还是BuildID[sha1]
指的是别的东西?
ish*_*ish 17
还是 BuildID[sha1] 指的是别的东西?
BuildID 不是二进制文件的哈希值或与之相关的哈希值。它是生成该二进制文件的“构建”(或编译)会话的标识符。它主要用于调试目的,以便开发人员可以从会话号 $BuildID 中查看日志、环境等,并尝试修复问题、重现问题等。
顺便说一句,任何东西的 SHA1 哈希总是 160 位长:)