ตัวตรวจสอบ checksum

Checksum คือลายนิ้วมือสั้นๆ ที่คำนวณจากข้อมูล และผู้เผยแพร่จะแสดงไว้เพื่อให้คุณยืนยันได้ว่าดาวน์โหลดหรือค่ากำหนดค่าต่างๆ ไม่เสียหายหรือถูกแก้ไข ตัวตรวจสอบนี้คำนวณ checksum ของข้อความที่คุณวางด้วย MD5, SHA-1, SHA-256, SHA-384, SHA-512 หรือ CRC32 และหากคุณวางค่าที่คาดไว้ด้วย ระบบจะบอกทันทีว่าตรงกันหรือไม่ เหมาะสำหรับตรวจสอบคีย์ API รหัสลิขสิทธิ์ ส่วนของค่ากำหนดค่า และข้อความสั้นๆ กับค่าแฮชที่ผู้ให้บริการประกาศ

วิธีตรวจสอบ checksum

  1. 1

    วางข้อความ

    พิมพ์หรือวางข้อความที่ต้องการคำนวณ checksum เช่น คีย์ API รหัสลิขสิทธิ์ หรือส่วนของค่ากำหนดค่า

  2. 2

    เลือกอัลกอริทึม

    เลือก MD5, SHA-1, SHA-256, SHA-384, SHA-512 หรือ CRC32 ใช้อัลกอริทึมเดียวกับที่ผู้เผยแพร่ใช้สำหรับค่าที่คุณจะเปรียบเทียบ

  3. 3

    วางค่าที่คาดไว้ (ไม่บังคับ)

    เพิ่มค่าแฮชจากหน้าของผู้เผยแพร่ การเปรียบเทียบไม่สนใจตัวพิมพ์ใหญ่เล็ก ปล่อยค่าแฮชไว้ตามที่ระบุทุกตัว

  4. 4

    อ่านผลลัพธ์

    checksum ที่คำนวณได้แสดงไว้ให้คัดลอก และเมื่อระบุค่าที่คาดไว้ ระบบจะทำเครื่องหมายตรงกันเป็นสีเขียวหรือไม่ตรงกันเป็นสีแดง

ควรใช้อัลกอริทึมใด

อัลกอริทึม ขนาดผลลัพธ์ ความเร็ว ทนทานต่อการชน? การใช้งาน
MD5 128 บิต เร็วที่สุด ถูกทำลายแล้ว เฉพาะระบบเก่าที่ต้องเข้ากันได้
SHA-1 160 บิต เร็ว เลิกใช้แล้ว ระบบเก่า git ยังใช้อยู่
SHA-256 256 บิต ปานกลาง ใช่ มาตรฐานสมัยใหม่
SHA-384 384 บิต ปานกลาง ใช่ ระบบที่ใช้ 384 บิตอยู่แล้ว
SHA-512 512 บิต ปานกลาง ใช่ ระวังเป็นพิเศษ / คีย์เข้ารหัส
CRC32 32 บิต เร็วที่สุด ไม่ ตรวจสอบความเสียหายเร็วๆ ไม่ใช่ความปลอดภัย

ใช้ SHA-256 เว้นแต่ผู้เผยแพร่จะระบุเป็นอย่างอื่น MD5 และ SHA-1 ยังปรากฏในดาวน์โหลดรุ่นเก่า แต่ปลอมแปลงได้ง่ายด้วยฮาร์ดแวร์สมัยใหม่ ใช้เฉพาะการตรวจสอบความเสียหายทั่วๆ ไปเท่านั้น ไม่ใช่การยืนยันความครบถ้วนเพื่อรับมือผู้โจมตี ส่วน CRC32 ไม่ใช่แฮชเข้ารหัสเลย ตรวจพบความเสียหายโดยไม่ได้ตั้งใจได้ แต่ไม่ป้องกันการแก้ไขโดยเจตนา

ผู้เผยแพร่แสดงค่าแฮชที่ไหน

  • ลีนุกซ์ดิสโทร: SHA-256 และ SHA-512 ข้างไฟล์ ISO ทุกตัว มักมีไฟล์ SHASUMS ที่ลงนามด้วย PGP
  • รุ่นโอเพนซอร์ส (GitHub): ค่าแฮชในหน้าปล่อยรุ่น มักผ่าน shasum -a 256 ใน README
  • ซอฟต์แวร์องค์กร: MD5 หรือ SHA-256 ในการยืนยันดาวน์โหลด ผู้ขายบางรายเผยแพร่เอกสารที่ลงนามด้วย GPG
  • ตัวจัดการแพ็กเกจ: ตรวจสอบให้อัตโนมัติ (apt, yum, Homebrew) ต้องตรวจสอบด้วยตนเองเฉพาะการดาวน์โหลดโดยตรง

เคล็ดลับการตรวจสอบ

  • นำค่าแฮชจากแหล่งอื่น ที่ไม่ใช่แหล่งเดียวกับไฟล์ หากทั้งคู่มาจากมิเรอร์ที่ถูกเจาะระบบเดียวกัน ทั้งคู่อาจถูกปลอมแปลงได้
  • ตรวจสอบลายเซ็น GPG เมื่อมี ไฟล์ SHASUMS ที่ลงนามพิสูจน์ว่าผู้เผยแพร่ (ด้วยคีย์ส่วนตัว) รับรองค่าแฮชเหล่านี้
  • ตรวจสอบค่าซ้ำหลังการโอนย้าย: หากย้ายไฟล์หรือความลับระหว่างเครื่อง ให้คำนวณแฮชใหม่ทั้งสองฝั่งเพื่อยืนยันว่าตรงกัน
  • ระวังอักขระขึ้นบรรทัดใหม่: การขึ้นบรรทัดใหม่ท้ายข้อความเกินหนึ่งตัวหรือขาดหนึ่งตัวจะเปลี่ยนค่าแฮชทั้งหมด หากข้อความที่วางต่างจากต้นฉบับแม้แต่ตัวเดียว checksum จะไม่ตรงกัน

ความเป็นส่วนตัว

ข้อความที่คุณวางถูกส่งไปยังเซิร์ฟเวอร์ของเราเพื่อคำนวณ checksum และในโหมดทีละขั้นตอน ข้อความจะถูกเก็บไว้ในพื้นที่เก็บข้อมูลของเบราว์เซอร์ระหว่างขั้นตอนเพื่อไม่ให้ต้องวางใหม่ ข้อความจะไม่ถูกจัดเก็บในฐานข้อมูลและไม่ถูกแบ่งปันกับใคร

คำถามที่พบบ่อย

สาเหตุทั่วไป: คุณคัดลอกค่าที่คาดไว้จากรุ่นที่ต่างกัน ข้อความมีช่องว่าง แท็บ หรืออักขระขึ้นบรรทัดใหม่เกินมา (การขึ้นบรรทัดใหม่ท้ายข้อความแม้เพียงหนึ่งตัวก็เปลี่ยนค่าแฮช) หรือคุณเลือกอัลกอริทึมคนละตัวกับผู้เผยแพร่ ตรวจสอบว่าคุณกำลังเปรียบเทียบข้อความที่ถูกต้องกับบรรทัดแฮชที่ถูกต้อง

สำหรับการตรวจจับความเสียหายทั่วๆ ไป (ดาวน์โหลดเสร็จสมบูรณ์หรือไม่) ใช่ แต่สำหรับการตรวจสอบที่อ่อนไหวด้านความปลอดภัย (ไฟล์นี้ถูกแก้ไขหรือไม่) ไม่ เพราะการชนของ MD5 สร้างได้ในไม่กี่วินาทีบนฮาร์ดแวร์ทั่วไป

CRC32 คือ checksum ที่เร็วและไม่ใช่การเข้ารหัส ใช้โดยไฟล์ ZIP ภาพ PNG และโปรโตคอลเครือข่ายเพื่อตรวจจับความเสียหายโดยไม่ได้ตั้งใจ ตรวจจับความเสียหายสุ่มได้ดี แต่ผู้โจมตีสร้างการชนได้ในมิลลิวินาที ดังนั้นอย่าพึ่งพาเพื่อความปลอดภัยเด็ดขาด

เครื่องมือนี้ทำงานกับข้อความที่วาง ไม่ใช่ไฟล์ หากต้องการตรวจสอบไฟล์ที่ดาวน์โหลด ให้คำนวณแฮชบนอุปกรณ์ของคุณเอง (เช่น ด้วย sha256sum, Get-FileHash หรือโปรแกรมแบบกราฟิก) แล้วเปรียบเทียบผลลัพธ์กับค่าที่ผู้เผยแพร่ประกาศ

เครื่องมือที่เกี่ยวข้อง

เครื่องมือเข้ารหัสซีซาร์

เข้ารหัสและถอดรหัสข้อความด้วยรหัสซีซาร์ เลื่อนได้ตั้งแต่ 1-25 รองรับ ROT13 เป็นกรณีพิเศษ และคงเครื่องหมายวรรคตอนกับตัวพิมพ์ใหญ่-เล็กไว้เหมือนเดิม

ตัวเข้ารหัสและถอดรหัส Base85

เข้ารหัสและถอดรหัส Base85 ในรูปแบบ Adobe Ascii85 ซึ่งใช้ในไฟล์ PostScript และ PDF กะทัดรัดกว่า Base64 สำหรับข้อมูลไบนารี

ตัวสร้าง bcrypt

สร้าง bcrypt hash จากรหัสผ่าน plaintext ปรับ cost factor ได้ตั้งแต่ 4 ถึง 13 ใช้ร่วมกับ Laravel, Django, Node และ PHP ได้

ตัวสร้าง bcrypt Hash

สร้าง bcrypt hash หรือตรวจสอบรหัสผ่าน plaintext กับ bcrypt hash ที่มีอยู่ โหมด generate และ verify อยู่ข้างกันในเครื่องมือเดียว

ตัวเข้ารหัสและถอดรหัส Base32

เข้ารหัสและถอดรหัสสตริง Base32 ด้วยตารางอักขระ RFC 4648 เหมาะสำหรับซีเคร็ต TOTP, โทเค็นที่ไม่แยกตัวพิมพ์ใหญ่เล็ก และตัวระบุที่มนุษย์ต้องพิมพ์

เข้ารหัส / ถอดรหัส AES

เข้ารหัสและถอดรหัสข้อความความเสี่ยงต่ำด้วย AES cipher ของ OpenSSL passphrase จะถูก hash ด้วย SHA-256 และผลลัพธ์ Base64 มี IV รวมกับข้อความเข้ารหัส