ตัวสร้าง Hash และตรวจสอบ Checksum
รับค่า MD5, SHA-1, SHA-256, SHA-384 และ SHA-512 ของข้อความหรือไฟล์ใดก็ได้ในครั้งเดียว คำนวณ HMAC ด้วยคีย์ลับ และตรวจสอบไฟล์กับ checksum ที่เผยแพร่ไว้
ทำงานในเบราว์เซอร์ไม่ต้องสมัครไม่มีการอัปโหลด
วิธีใช้ ตัวสร้าง Hash
- พิมพ์หรือวางข้อความ หรือสลับไปที่ ไฟล์ แล้วลากไฟล์มาวาง ไฟล์ขนาดใหญ่จะถูกอ่านเป็นส่วน ๆ พร้อมแถบความคืบหน้า
- แฮชทั้งห้าแบบถูกคำนวณพร้อมกัน เลือกผลลัพธ์เป็น hex ตัวพิมพ์เล็ก HEX ตัวพิมพ์ใหญ่ หรือ Base64
- ติ๊ก HMAC และป้อนคีย์ลับ (เป็นข้อความ, hex หรือ Base64) เพื่อรับ HMAC-SHA256 และ HMAC แบบอื่น ๆ
- หากต้องการตรวจสอบไฟล์ดาวน์โหลด ให้วาง checksum ที่เผยแพร่ไว้ใน ตรวจสอบ checksum อัลกอริทึมที่ตรงกันจะถูกไฮไลต์
Hash คืออะไร?
ฟังก์ชันแฮชเชิงการเข้ารหัสจะแปลงข้อมูลใด ๆ ให้เป็นลายนิ้วมือที่มีความยาวคงที่ ข้อมูลเดียวกันให้แฮชเดียวกันเสมอ การเปลี่ยนเพียงหนึ่งไบต์ให้แฮชที่ต่างไปโดยสิ้นเชิง และไม่สามารถย้อนแฮชกลับเป็นข้อมูลเดิมได้ แฮชจึงเหมาะสำหรับตรวจความสมบูรณ์ของไฟล์ สร้าง cache key ตัดข้อมูลซ้ำ และลงนามข้อความ
ควรใช้อัลกอริทึมใด?
| อัลกอริทึม | ผลลัพธ์ | ใช้สำหรับ |
|---|---|---|
| MD5 | 128 บิต · 32 hex | เฉพาะ checksum ของระบบเก่าและ cache key ที่ไม่เกี่ยวกับความปลอดภัย สร้าง collision ได้ง่าย |
| SHA-1 | 160 บิต · 40 hex | ID ของ object ใน Git และระบบเก่า ถูกเจาะด้าน collision resistance ตั้งแต่ปี 2017 |
| SHA-256 | 256 บิต · 64 hex | ตัวเลือกมาตรฐาน: checksum ไฟล์ดาวน์โหลด ลายเซ็น บล็อกเชน การลงนามคำขอ API |
| SHA-384 / SHA-512 | 384 / 512 บิต | ระดับความปลอดภัยสูงกว่า SHA-512 มักเร็วกว่า SHA-256 บน CPU 64 บิต |
อย่าใช้อัลกอริทึมเหล่านี้เก็บรหัสผ่าน เพราะถูกออกแบบให้ทำงานเร็ว ซึ่งเป็นประโยชน์ต่อผู้โจมตี ให้ใช้ password hash ที่ช้า เช่น Argon2id, scrypt หรือ bcrypt แทน
ตรวจสอบ checksum ของไฟล์
ผู้พัฒนาซอฟต์แวร์มักเผยแพร่ค่า SHA-256 ไว้คู่กับไฟล์ดาวน์โหลดแต่ละไฟล์ ลากไฟล์มาวางที่นี่ วางค่าที่เผยแพร่ไว้ แล้วเครื่องมือจะบอกว่าตรงกันหรือไม่ คุณวางทั้งบรรทัดจากไฟล์ SHA256SUMS ได้เลย ชื่อไฟล์หลังแฮชจะถูกข้าม คำสั่งที่เทียบเท่า:
sha256sum file.iso # Linux
shasum -a 256 file.iso # macOS
certutil -hashfile file.iso SHA256 # Windows
HMAC คืออะไร?
HMAC (RFC 2104) ผสมคีย์ลับเข้าไปในแฮช จึงมีเพียงผู้ที่มีคีย์เท่านั้นที่สร้างหรือตรวจสอบค่าได้ Webhook จาก Stripe, GitHub และ Slack ลงนามด้วย HMAC-SHA256 และ JWT ที่ใช้อัลกอริทึม HS256 ก็ใช้วิธีนี้เช่นกัน วาง request body ดิบและ signing secret ของคุณเพื่อสร้างลายเซ็นซ้ำขณะดีบัก
คำถามที่พบบ่อย
ไฟล์ของฉันถูกอัปโหลดเพื่อคำนวณแฮชหรือไม่?
ทำไมแฮชของฉันต่างจากเครื่องมืออื่น?
echo "text" | sha256sum จะมีการขึ้นบรรทัดใหม่รวมอยู่ด้วย ให้ใช้ echo -n