วิธีใช้งาน
- เลือก Text แล้วพิมพ์หรือวางข้อความ หรือเลือก File แล้วเลือกหรือลากไฟล์มาวาง
- ดูค่า MD5, SHA-1, SHA-256, SHA-384 และ SHA-512 สลับรูปแบบได้ระหว่างเลขฐานสิบหกตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่ และ Base64
- หากต้องการตรวจสอบไฟล์ดาวน์โหลด ให้วาง checksum ที่ผู้ให้บริการเผยแพร่ไว้ในช่องเปรียบเทียบ ระบบจะไฮไลต์อัลกอริทึมที่ตรงกัน
- คัดลอกแฮชรายการเดียว หรือเลือก “คัดลอกทั้งหมด” เพื่อคัดลอกแฮชทุกรายการพร้อมชื่ออัลกอริทึม
วิธีการทำงาน
ฟังก์ชันแฮชจะแปลงข้อมูลใดๆ ให้เป็นลายนิ้วมือที่มีความยาวคงที่ ข้อมูลเดียวกันจะให้แฮชเดิมเสมอ และการเปลี่ยนแปลงเพียงบิตเดียวจะทำให้ผลลัพธ์เปลี่ยนไปโดยสิ้นเชิง จึงใช้แฮชตรวจสอบได้ว่าไฟล์ดาวน์โหลดเสียหายหรือถูกแก้ไขหรือไม่
SHA-1, SHA-256, SHA-384 และ SHA-512 คำนวณด้วย Web Crypto API ที่มีอยู่ในเบราว์เซอร์ของคุณ ส่วน MD5 ไม่มีใน Web Crypto หน้านี้จึงมีการติดตั้งอัลกอริทึมตาม RFC 1321 ไว้เอง และตรวจสอบกับชุดค่าทดสอบมาตรฐานแล้ว ข้อความจะแปลงเป็นไบต์ UTF-8 ก่อนคำนวณแฮช ดังนั้น “é” จะถูกแฮชเป็นสองไบต์ และการมีช่องว่างหรือการขึ้นบรรทัดใหม่ต่อท้ายจะทำให้ผลลัพธ์เปลี่ยนไป
MD5 และ SHA-1 ไม่ปลอดภัยสำหรับการใช้งานด้านความปลอดภัย เพราะนักวิจัยสามารถสร้างข้อมูลต่างกันสองชุดที่มีแฮชเหมือนกันได้ แต่ยังใช้ตรวจจับความเสียหายที่เกิดขึ้นโดยไม่ตั้งใจ หรือเทียบกับค่า checksum ที่ผู้ให้บริการเผยแพร่ได้ ห้ามใช้ทั้งสองอัลกอริทึมกับลายเซ็นหรือใบรับรอง และห้ามใช้แฮชธรรมดาเพื่อจัดเก็บรหัสผ่าน ให้ใช้อัลกอริทึมแฮชรหัสผ่านที่ทำงานช้า เช่น Argon2, scrypt หรือ bcrypt
ระบบอ่านไฟล์ขนาดไม่เกิน 200 MB เข้าหน่วยความจำ โดยคำนวณ MD5 เป็นชุดๆ และหยุดพักสั้นๆ เพื่อให้หน้ายังตอบสนองได้ พร้อมแสดงข้อความแจ้งความคืบหน้า ไฟล์ขนาดใหญ่มากอาจใช้เวลาหลายวินาทีบนโทรศัพท์
ตัวอย่าง
ตรวจสอบไฟล์ ISO ที่ดาวน์โหลด
หน้าดาวน์โหลด Linux ระบุค่า checksum ของ SHA-256 ไว้ เลือกไฟล์ วางไฟล์ .iso แล้ววางค่าที่เผยแพร่ไว้ในช่องเปรียบเทียบ จากนั้นตรวจดูข้อความ “ตรงกัน: … SHA-256” หากค่าไม่ตรงกัน แสดงว่าไฟล์ดาวน์โหลดไม่ครบหรือไม่ใช่ไฟล์ต้นฉบับ
ค่าทดสอบที่รู้จักกันดี
ข้อความ “abc” มีแฮช MD5 เป็น 900150983cd24fb0d6963f7d28e17f72 และแฮช SHA-256 เป็น ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad ใช้ค่านี้ตรวจสอบว่าเครื่องมืออื่นให้ผลลัพธ์เดียวกันหรือไม่
Base64 สำหรับ HTTP headers
Subresource Integrity และ API บางรายการต้องการแฮช SHA-256 หรือ SHA-384 ในรูปแบบ Base64 แทนเลขฐานสิบหก เปลี่ยนรูปแบบเอาต์พุตเป็น Base64 แล้วคัดลอกค่า SHA-384
คำถามที่พบบ่อย
ทำไมแฮชที่ได้จากข้อความเดียวกันจึงต่างจากผลลัพธ์ของเครื่องมืออื่น
โดยมากเกิดจากความแตกต่างที่มองไม่เห็น เช่น มีบรรทัดใหม่ต่อท้าย การขึ้นบรรทัดแบบ Windows (CRLF) การเข้ารหัสข้อความต่างกัน หรือมีช่องว่างนำหน้า เครื่องมือนี้คำนวณแฮชจากไบต์ UTF-8 ของข้อความในช่องตามจริง
ย้อนกลับจากแฮชเพื่ออ่านข้อความต้นฉบับได้หรือไม่
ไม่ได้ ฟังก์ชันแฮชเป็นฟังก์ชันทางเดียว แต่ยังค้นหาข้อความสั้นๆ หรือข้อความที่ใช้กันทั่วไปได้ด้วยการลองเดา จึงควรใช้การแฮชรหัสผ่านแบบช้าและมี salt แทนแฮชธรรมดา
MD5 ยังปลอดภัยต่อการใช้งานหรือไม่
ไม่ปลอดภัยสำหรับการใช้งานด้านความปลอดภัย สามารถจงใจทำให้เกิดการชนกันของ MD5 และ SHA-1 ได้ จึงห้ามใช้ป้องกันการแก้ไขโดยเจตนา แต่ยังใช้ตรวจสอบความเสียหายที่เกิดขึ้นโดยไม่ตั้งใจได้ โดย SHA-256 เป็นตัวเลือกเริ่มต้นที่ดีกว่า
ไฟล์ของฉันถูกอัปโหลดหรือไม่
ไม่ ไฟล์จะถูกอ่านด้วย File API ของเบราว์เซอร์และคำนวณแฮชในแท็บนี้ ไม่มีการส่งข้อมูลไปยังเซิร์ฟเวอร์ และหน้าเว็บใช้งานแบบออฟไลน์ได้เมื่อโหลดแล้ว
ไฟล์ที่นำมาสร้างแฮชมีขนาดใหญ่สุดได้เท่าไร
200 MB ระบบจะโหลดไฟล์ทั้งหมดเข้าไปในหน่วยความจำ ดังนั้นไฟล์ขนาดใหญ่อาจใช้หน่วยความจำจนหมดบนโทรศัพท์และคอมพิวเตอร์รุ่นเก่า หากต้องการประมวลผลไฟล์ที่ใหญ่กว่านี้ ให้ใช้เครื่องมือบรรทัดคำสั่ง เช่น sha256sum หรือ certutil
ความเป็นส่วนตัว
ระบบสร้างแฮชจากข้อความและไฟล์ในเบราว์เซอร์ของคุณโดยไม่อัปโหลด ไม่มีการจัดเก็บหรือส่งข้อมูลที่ป้อนหรือแฮชไปยังระบบวิเคราะห์ข้อมูล โดยจะบันทึกเพียงเหตุการณ์แบบไม่ระบุตัวตนว่ามีการใช้เครื่องมือนี้