คำตอบแบบสั้น
ใช้อัลกอริทึมที่ผู้เผยแพร่ไฟล์ระบุให้ เพราะต้องใช้อัลกอริทึมเดียวกันจึงจะเปรียบเทียบได้ สำหรับงานใหม่ SHA-256 เป็นตัวเลือกที่เข้ากันได้กว้างที่สุด และ SHA-512 ก็เป็นตัวเลือกที่ดีเช่นกัน BLAKE3 เป็นตัวเลือกที่เร็วที่สุดสำหรับข้อมูลขนาดใหญ่ของคุณเอง หากมีเครื่องมือนี้ในทุกระบบที่เกี่ยวข้อง ปัจจุบันทั้งสามถือว่าปลอดภัย และยังไม่มีการโจมตีที่นำไปใช้ได้จริงซึ่งเป็นที่ทราบสำหรับทั้งสามอัลกอริทึม
ความแตกต่างของแต่ละอัลกอริทึม
SHA-256 และ SHA-512 อยู่ในตระกูล SHA-2 ที่ NIST กำหนดเป็นมาตรฐาน และมักเป็นข้อกำหนดตามกฎการปฏิบัติตามมาตรฐาน BLAKE3 ใหม่กว่าและไม่ใช่มาตรฐานของ NIST จึงอาจไม่ตรงตามกฎเหล่านั้น SHA-256 และ BLAKE3 ที่ใช้เอาต์พุตเริ่มต้นให้ผลลัพธ์ 256 บิต ซึ่งหมายถึงความต้านทานการชนกันประมาณ 128 บิต SHA-512 ให้ผลลัพธ์ 512 บิตและความต้านทานประมาณ 256 บิต ในทางปฏิบัติ ทั้งสองระดับสูงเกินขีดความสามารถในการโจมตีไปมาก
ความเร็วขึ้นอยู่กับฮาร์ดแวร์
BLAKE3 ออกแบบมาให้ใช้ CPU หลายคอร์และคำสั่งเวกเตอร์สมัยใหม่ จึงมักเร็วกว่าอย่างชัดเจนเมื่อใช้กับไฟล์ขนาดใหญ่ ส่วนผลลัพธ์ระหว่างรุ่นต่าง ๆ ของ SHA-2 จะแตกต่างกันไป: SHA-512 มักเร็วกว่าเมื่อใช้ CPU 64 บิตที่ไม่มีคำสั่งเฉพาะ ขณะที่ CPU ที่มีส่วนขยาย SHA ทำให้ SHA-256 เร็วกว่า ควรวัดบนเครื่องของคุณเองด้วยไฟล์ขนาดใหญ่ เพราะแคชและดิสก์มีผลต่อผลลัพธ์ อาจต้องติดตั้ง b3sum แยกต่างหาก
time sha256sum large.iso
time sha512sum large.iso
time b3sum large.isoเช็กซัมพิสูจน์อะไรได้บ้าง
เช็กซัมที่ตรงกันแสดงว่าไฟล์เหมือนกับไฟล์ที่ใช้คำนวณค่าแฮชทุกประการ แต่ไม่ได้ระบุว่าใครเป็นผู้สร้างไฟล์ หากผู้โจมตีแก้ไขได้ทั้งไฟล์ที่ให้ดาวน์โหลดและเช็กซัมบนหน้าเดียวกัน การเปรียบเทียบก็จะผ่าน หากต้องการตรวจสอบแหล่งที่มา คุณต้องใช้ค่าแฮชจากช่องทางแยกที่เชื่อถือได้ หรือลายเซ็น เช่น GPG
sha256sum -c SHA256SUMS
gpg --verify SHA256SUMS.asc SHA256SUMSสิ่งที่ควรหลีกเลี่ยง
ความต้านทานการชนกันของ MD5 และ SHA-1 ถูกเจาะได้แล้ว จึงไม่ควรใช้ป้องกันการแก้ไขข้อมูลโดยเจตนา ทั้งสองอาจยังปรากฏในไฟล์รายการเก่า ซึ่งใช้ตรวจจับความเสียหายที่เกิดขึ้นโดยไม่ตั้งใจเท่านั้น ฟังก์ชันที่ไม่ใช่แบบเข้ารหัสลับ เช่น CRC-32 และ xxHash สร้างมาเพื่อความเร็วและการตรวจจับข้อผิดพลาดโดยไม่ตั้งใจ ไม่ใช่เพื่อความปลอดภัยโดยเด็ดขาด
เช็กซัมใน CH-J Server Manager
โมดูล Hash & Checksum มีทั้งสามอัลกอริทึม และระบุ SHA-256, SHA-512 และ BLAKE3 ว่าแนะนำให้ใช้ ส่วน MD5 และ SHA-1 ระบุว่าถูกเจาะได้แล้ว โมดูลนี้คำนวณค่าแฮช เปรียบเทียบไฟล์ และตรวจสอบกับค่าที่คาดไว้ได้ แต่ไม่สามารถบอกได้ว่าค่าที่คาดไว้นั้นเชื่อถือได้หรือไม่ จึงควรนำค่ามาจากแหล่งที่คุณเชื่อถือ แอปตรวจสอบการอัปเดตของตัวเองด้วย SHA-512 ร่วมกับลายเซ็น OpenPGP