ตัวสร้าง Hash และตรวจสอบ Checksum

รับค่า MD5, SHA-1, SHA-256, SHA-384 และ SHA-512 ของข้อความหรือไฟล์ใดก็ได้ในครั้งเดียว คำนวณ HMAC ด้วยคีย์ลับ และตรวจสอบไฟล์กับ checksum ที่เผยแพร่ไว้

ทำงานในเบราว์เซอร์ไม่ต้องสมัครไม่มีการอัปโหลด

วิธีใช้ ตัวสร้าง Hash

  1. พิมพ์หรือวางข้อความ หรือสลับไปที่ ไฟล์ แล้วลากไฟล์มาวาง ไฟล์ขนาดใหญ่จะถูกอ่านเป็นส่วน ๆ พร้อมแถบความคืบหน้า
  2. แฮชทั้งห้าแบบถูกคำนวณพร้อมกัน เลือกผลลัพธ์เป็น hex ตัวพิมพ์เล็ก HEX ตัวพิมพ์ใหญ่ หรือ Base64
  3. ติ๊ก HMAC และป้อนคีย์ลับ (เป็นข้อความ, hex หรือ Base64) เพื่อรับ HMAC-SHA256 และ HMAC แบบอื่น ๆ
  4. หากต้องการตรวจสอบไฟล์ดาวน์โหลด ให้วาง checksum ที่เผยแพร่ไว้ใน ตรวจสอบ checksum อัลกอริทึมที่ตรงกันจะถูกไฮไลต์

Hash คืออะไร?

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

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

อัลกอริทึมผลลัพธ์ใช้สำหรับ
MD5128 บิต · 32 hexเฉพาะ checksum ของระบบเก่าและ cache key ที่ไม่เกี่ยวกับความปลอดภัย สร้าง collision ได้ง่าย
SHA-1160 บิต · 40 hexID ของ object ใน Git และระบบเก่า ถูกเจาะด้าน collision resistance ตั้งแต่ปี 2017
SHA-256256 บิต · 64 hexตัวเลือกมาตรฐาน: checksum ไฟล์ดาวน์โหลด ลายเซ็น บล็อกเชน การลงนามคำขอ API
SHA-384 / SHA-512384 / 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 ของคุณเพื่อสร้างลายเซ็นซ้ำขณะดีบัก

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

ไฟล์ของฉันถูกอัปโหลดเพื่อคำนวณแฮชหรือไม่?
ไม่ ข้อความและไฟล์ถูกแฮชภายในเครื่องด้วย Web Crypto API ของเบราว์เซอร์ (และ MD5 ที่สร้างไว้ในตัว) ไม่มีข้อมูลใดออกจากอุปกรณ์ของคุณ
ทำไมแฮชของฉันต่างจากเครื่องมืออื่น?
ส่วนใหญ่เป็นเพราะข้อมูลขาเข้าต่างกัน: มีการขึ้นบรรทัดใหม่ต่อท้าย การขึ้นบรรทัดแบบ Windows (CRLF กับ LF) หรือการเข้ารหัสข้อความที่ต่างกัน เครื่องมือนี้แฮชข้อความเป็น UTF-8 ตามที่พิมพ์ทุกประการ โดยไม่เพิ่มการขึ้นบรรทัดใหม่ โปรดทราบว่า echo "text" | sha256sum จะมีการขึ้นบรรทัดใหม่รวมอยู่ด้วย ให้ใช้ echo -n
ถอดรหัสแฮชได้หรือไม่?
ไม่ได้ การแฮชเป็นแบบทางเดียว เว็บไซต์ที่อ้างว่า “ถอดรหัส” MD5 หรือ SHA-1 ได้ เพียงแค่ค้นหาค่าในตารางแฮชของข้อมูลที่ใช้บ่อย นี่จึงเป็นเหตุผลที่สตริงสั้นหรือสตริงทั่วไปไม่ปลอดภัยที่จะแฮชโดยไม่มีคีย์ลับ
SHA-256 เหมือนกับ SHA-2 หรือไม่?
SHA-256 เป็นสมาชิกหนึ่งของตระกูล SHA-2 ซึ่งยังมี SHA-224, SHA-384 และ SHA-512 ส่วน SHA-3 เป็นการออกแบบที่ต่างออกไปและใหม่กว่า
แฮชไฟล์ได้ใหญ่แค่ไหน?
สูงสุด 2 GB ซึ่งจำกัดด้วยหน่วยความจำของเบราว์เซอร์ ไฟล์ถูกอ่านเป็นส่วนละ 4 MB พร้อมแถบความคืบหน้า หน้าเว็บจึงยังตอบสนองได้ดี

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