วิธีสร้างแฮช MD5, SHA-256 และอื่นๆ

· 4 นาทีในการอ่าน

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

การแฮชทำงานอย่างไร

ฟังก์ชันแฮชรับอินพุตขนาดใดก็ได้และให้เอาต์พุตขนาดคงที่:

อินพุต แฮช SHA-256 (16 อักขระแรก)
hello 2cf24dba5fb0a30e...
Hello 185f8db32271fe25...
hello! ce06092fb948d9ff...

สังเกตว่าการเปลี่ยนแปลงอักขระเดียว (h ตัวพิมพ์เล็กเป็น H ตัวพิมพ์ใหญ่) หรือการเพิ่มเข้ามาเปลี่ยนแฮชอย่างสิ้นเชิง สิ่งนี้เรียกว่า เอฟเฟกต์ลูกหิมะ

อัลกอริทึมแฮชที่พบบ่อย

อัลกอริทึม ความยาว สถานะ ใช้สำหรับ
MD5 32 อักขระ เสีย (ไม่ปลอดภัย) เช็คซัมเก่า การใช้งานที่ไม่ปลอดภัย
SHA-1 40 อักขระ เสีย (ไม่ปลอดภัย) ระบบเก่าเท่านั้น
SHA-256 64 อักขระ ปลอดภัย ความสมบูรณ์ของไฟล์ ลายเซ็นดิจิทัล
SHA-512 128 อักขระ ปลอดภัย แอปพลิเคชันความปลอดภัยสูง

SHA-256 เป็นมาตรฐานปัจจุบันสำหรับการใช้งานส่วนใหญ่ MD5 และ SHA-1 ควรใช้เฉพาะเพื่อโต้ตอบกับระบบเก่าที่ต้องการเท่านั้น

วิธีสร้างแฮช

  1. เลือกอัลกอริทึมของคุณ — เลือก MD5, SHA-1, SHA-256, SHA-384 หรือ SHA-512 ใช้ SHA-256 เว้นแต่มีเหตุผลเฉพาะ
  2. ป้อนข้อความหรืออัปโหลดไฟล์ — พิมพ์หรือวางข้อความ หรือเลือกไฟล์ที่จะแฮช
  3. คัดลอกแฮช — ผลลัพธ์เป็นสตริงฐานสิบหกที่ใช้สำหรับการตรวจสอบ การจัดเก็บ หรือการเปรียบเทียบ

การใช้งานจริง

การตรวจสอบความสมบูรณ์ของไฟล์ — ดาวน์โหลดไฟล์และเปรียบเทียบแฮชกับที่เผยแพร่อย่างเป็นทางการ หากตรงกัน ไฟล์เป็นของแท้และไม่เสียหาย

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

การลดข้อมูลซ้ำ — แฮชไฟล์ขนาดใหญ่เพื่อตัดสินอย่างรวดเร็วว่าเหมือนกันหรือไม่ โดยไม่ต้องเปรียบเทียบไบต์ต่อไบต์

HMAC สำหรับความปลอดภัย API — ใช้ HMAC (แฮชด้วยกุญแจลับ) เพื่อลงนามคำขอ API และให้แน่ใจว่าไม่ถูกแก้ไขในการขนส่ง

เคล็ดลับ

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

ความแตกต่างระหว่าง MD5, SHA-1 และ SHA-256 คืออะไร?

MD5 ผลิตแฮช 128 บิต (32 อักขระเลขฐานสิบหก) SHA-1 ผลิต 160 บิต (40 อักขระ) และ SHA-256 ผลิต 256 บิต (64 อักขระ) MD5 และ SHA-1 ถือว่าเสียทางการเข้ารหัส SHA-256 ปัจจุบันปลอดภัยและแนะนำสำหรับการตรวจสอบความสมบูรณ์และความปลอดภัย

สามารถย้อนกลับแฮชเพื่อค้นหาข้อมูลต้นฉบับได้หรือไม่?

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

HMAC คืออะไร?

HMAC (Hash-based Message Authentication Code) รวมฟังก์ชันแฮชกับกุญแจลับ มันตรวจสอบทั้งความสมบูรณ์และความถูกต้องของข้อมูล — พิสูจน์ว่าไม่ถูกแก้ไขและถูกผลิตโดยคนที่รู้กุญแจลับ

ข้อมูลของฉันถูกส่งไปยังเซิร์ฟเวอร์หรือไม่?

ไม่ การแฮชทั้งหมดทำงานในเบราว์เซอร์ของคุณด้วย Web Crypto API ข้อความและไฟล์ของคุณไม่เคยออกจากอุปกรณ์ของคุณ