tooliv

เครื่องสร้าง Hash

สร้าง hash MD5, SHA-1, SHA-256, SHA-512

MD5
SHA-1
SHA-256
SHA-512

เครื่องสร้าง Hash

MD5 ยังใช้ได้อยู่ไหม?

ไม่สำหรับความปลอดภัย (รหัสผ่าน, การยืนยันตัวตน) แต่ยังใช้ได้สำหรับการค้นหาซ้ำและ cache key ที่ยอมรับ collision ได้

แฮชเหมือนกับการเข้ารหัสไหม?

ไม่ การเข้ารหัสสามารถถอดรหัสได้ด้วยคีย์ที่ถูกต้อง แฮชเป็นทิศทางเดียวและไม่สามารถย้อนกลับได้ "การถอดรหัสแฮช" เป็นสิ่งที่เป็นไปไม่ได้ในหลักการ

ข้อความเดิมให้แฮชเดิมเสมอไหม?

ใช่ ฟังก์ชันแฮชเป็นแบบกำหนด (อินพุตเดียวกัน → เอาท์พุตเดียวกัน) ช่องว่างหรือตัวอักษรหนึ่งตัวทำให้แฮชเปลี่ยนไปอย่างสิ้นเชิง (avalanche effect)

ฟังก์ชันแฮชคืออะไร?

ฟังก์ชันแฮชแปลงข้อมูลความยาวใดก็ได้เป็นสตริงความยาวคงที่ (digest) แบบทิศทางเดียว MD5(128 บิต), SHA-1(160 บิต), SHA-256(256 บิต), SHA-512(512 บิต) คือตัวอย่างอัลกอริทึม อินพุตเดียวกันให้เอาท์พุตเดียวกันเสมอ แต่ไม่สามารถย้อนกลับจากเอาท์พุตเพื่อหาอินพุตได้

ทำไม MD5 และ SHA-1 ถูกมองว่า "แตกหัก"?

MD5 และ SHA-1 ได้รับการพิสูจน์แล้วว่ามีช่องโหว่การโจมตีแบบ collision (อินพุตต่างกันแต่ได้แฮชเดียวกัน) จึงไม่แนะนำสำหรับความปลอดภัย SHA-256 และ SHA-512 ยังคงปลอดภัย อย่างไรก็ตาม การแฮชรหัสผ่านควรใช้ bcrypt หรือ Argon2 ที่ออกแบบมาให้ทำงานช้าโดยเจตนา

การตรวจสอบความสมบูรณ์ของไฟล์

หลังดาวน์โหลด เปรียบเทียบ SHA-256 checksum กับค่าทางการเพื่อยืนยันว่าไฟล์ไม่ถูกดัดแปลง วิธีนี้พบบ่อยกับ ISO Linux และตัวติดตั้งซอฟต์แวร์ "Avalanche effect" หมายความว่าแม้แค่ 1 บิตเปลี่ยน แฮชก็จะเปลี่ยนอย่างสิ้นเชิง

ทำไมไม่ควรใช้ SHA-256 เก็บรหัสผ่าน

SHA-256 เร็วเกินไป — นี่คือปัญหา GPU สมัยใหม่คำนวณแฮชได้หลายพันล้านครั้งต่อวินาที ทำให้การโจมตีแบบ brute-force กับรหัสผ่านทั่วไปง่ายมาก bcrypt และ Argon2 ถูกออกแบบโดยเจตนาให้ช้าและใช้หน่วยความจำมาก รวมถึงใช้ salt ทำให้รหัสผ่านเดียวกันได้แฮชต่างกัน

บล็อคเชนและแฮช

Proof-of-Work ของ Bitcoin กำหนดให้นักขุดหาค่า nonce ที่ทำให้ SHA-256 สองชั้นขึ้นต้นด้วยศูนย์จำนวนหนึ่ง แต่ละบล็อคมีแฮชของบล็อคก่อนหน้า หากแก้ไขธุรกรรมในอดีต แฮชของบล็อคทั้งหมดหลังจากนั้นจะเปลี่ยน ซึ่ง node ใดก็ตรวจพบได้ทันที

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

MD5 ยังใช้ได้อยู่ไหม?

ไม่สำหรับความปลอดภัย (รหัสผ่าน, การยืนยันตัวตน) แต่ยังใช้ได้สำหรับการค้นหาซ้ำและ cache key ที่ยอมรับ collision ได้

แฮชเหมือนกับการเข้ารหัสไหม?

ไม่ การเข้ารหัสสามารถถอดรหัสได้ด้วยคีย์ที่ถูกต้อง แฮชเป็นทิศทางเดียวและไม่สามารถย้อนกลับได้ "การถอดรหัสแฮช" เป็นสิ่งที่เป็นไปไม่ได้ในหลักการ

ข้อความเดิมให้แฮชเดิมเสมอไหม?

ใช่ ฟังก์ชันแฮชเป็นแบบกำหนด (อินพุตเดียวกัน → เอาท์พุตเดียวกัน) ช่องว่างหรือตัวอักษรหนึ่งตัวทำให้แฮชเปลี่ยนไปอย่างสิ้นเชิง (avalanche effect)

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