Що означає BuildID SHA1?


12

Я досліджував у вікні терміналу єдності ubuntu, коли це з’явилося:

Коли я вводив:

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]посилання на щось інше?

Відповіді:


15

Або BuildID [sha1] посилається на щось інше?

BuildID НЕ є хеш бінарного файлу або пов'язаний з ним. Це ідентифікатор сеансу "збірка" (або компілювання), який створив цей двійковий файл. Він здебільшого є для налагодження, щоб розробники могли переглянути журнали, середовище тощо з номера сесії $ BuildID та спробувати виправити проблему, відтворити її тощо.

BTW, SHA1 хешей чого завгодно завжди 160 біт :)


Чи можна це використовувати при складанні відбитків пальців кешу інструментів? Наприклад, скани можуть просто прочитати цей ідентифікатор, замість того, щоб повторно обчислювати хеши MD5 проміжних об'єктів і бібліотек для використання в перевірці залежності.
Nordlöw
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.