BuildID SHA1 หมายถึงอะไร


12

ฉันสำรวจรอบ ๆ ในหน้าต่างเทอร์มินัล unity ของ 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 hashes ของทุกอย่างจะยาว 160 บิตเสมอ :)


สามารถใช้สิ่งนี้ในการสร้างลายนิ้วมือแคชเครื่องมือหรือไม่? ยกตัวอย่างเช่นชาวสก็อตสามารถอ่านรหัสนี้แทนที่จะต้องคำนวณ hash MD5 ของวัตถุและไลบรารีกลางอีกครั้งเพื่อใช้ในการตรวจสอบการพึ่งพา
Nordlöw
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.