การ hash เปลี่ยนอินพุตใดๆ — ไฟล์ รหัสผ่าน ข้อความ — เป็นสตริงตัวอักษรความยาวคงที่ที่ทำหน้าที่เป็นลายนิ้วมือดิจิทัล หากแม้แต่บิตเดียวของอินพุตเปลี่ยน hash จะแตกต่างอย่างสิ้นเชิง ทำให้การ hash จำเป็นสำหรับตรวจสอบความสมบูรณ์ของไฟล์ รักษาความปลอดภัยรหัสผ่าน และตรวจจับการดัดแปลง บทเรียนนี้แสดงวิธีสร้างและตรวจสอบ hash ด้วยเครื่องมือฟรี
สิ่งที่ต้องใช้
- ข้อความหรือไฟล์ที่ต้องการ hash
- เว็บเบราว์เซอร์ (Chrome, Firefox, Safari หรือ Edge)
- ไม่ต้องมีบัญชีหรือติดตั้ง
คู่มือทีละขั้นตอน
เลือกอัลกอริทึม hash
เปิดเครื่องมือ ตัวสร้าง Hash เลือกอัลกอริทึมจากตัวเลือกที่มี SHA-256 แนะนำมากที่สุดสำหรับการใช้ทั่วไป MD5 และ SHA-1 มีสำหรับความเข้ากันได้กับระบบเก่าแต่ถือว่าปลอดภัยน้อยกว่าสำหรับจุดประสงค์ด้านการเข้ารหัส
ป้อนข้อความหรืออัปโหลดไฟล์
พิมพ์หรือวางข้อความที่ต้องการ hash หรืออัปโหลดไฟล์ เครื่องมือคำนวณ hash ทันที แม้แต่อินพุตตัวอักษรเดียวก็สร้างสตริง hash เต็มความยาว ลองป้อนอินพุตที่เกือบเหมือนกันสองอันเพื่อดูว่าผลลัพธ์เปลี่ยนไปมากแค่ไหน
คัดลอกและใช้ hash
Hash ที่สร้างปรากฏทันที คัดลอกไปคลิปบอร์ด ใช้เพื่อตรวจสอบความสมบูรณ์ของไฟล์ เก็บคู่กับไฟล์ดาวน์โหลด หรือเปรียบเทียบกับ hash ที่รู้ว่าถูกต้องเพื่อยืนยันว่าไม่มีอะไรถูกดัดแปลง
ควรรู้ การคำนวณ hash ทั้งหมดเกิดขึ้นในเบราว์เซอร์ ข้อความและไฟล์ไม่ถูกส่งไปเซิร์ฟเวอร์ใดๆ ทำให้ปลอดภัยที่จะ hash เนื้อหาที่ละเอียดอ่อน
ทำความเข้าใจอัลกอริทึม hash
อัลกอริทึมต่างๆ สร้าง hash ความยาวต่างกันและให้ระดับความปลอดภัยต่างกัน:
| อัลกอริทึม | ความยาว hash | สถานะ | เหมาะสำหรับ |
|---|---|---|---|
| MD5 | 32 ตัวอักษร | ไม่ปลอดภัยแล้ว | checksum เร็ว ไม่ใช่งานด้านความปลอดภัย |
| SHA-1 | 40 ตัวอักษร | เลิกใช้ด้านความปลอดภัย | ความเข้ากันได้กับระบบเก่า |
| SHA-256 | 64 ตัวอักษร | ปลอดภัย | ตรวจสอบไฟล์ ใช้ทั่วไป |
| SHA-512 | 128 ตัวอักษร | ปลอดภัย | แอปพลิเคชันความปลอดภัยสูง |
เคล็ดลับ เมื่อไม่แน่ใจ ใช้ SHA-256 เร็ว ปลอดภัย และรองรับแพร่หลาย ใช้ MD5 หรือ SHA-1 เฉพาะเมื่อเครื่องมือหรือระบบเฉพาะต้องการอัลกอริทึมนั้น
กรณีใช้งาน 1: ตรวจสอบไฟล์ที่ดาวน์โหลด
ผู้เผยแพร่ซอฟต์แวร์มักแสดง SHA-256 hash ข้างๆ ไฟล์ดาวน์โหลด วิธีใช้:
- ดาวน์โหลดไฟล์จากแหล่งทางการ
- จด hash ที่แสดงในหน้าดาวน์โหลด
- เปิด ตัวสร้าง Hash แล้วอัปโหลดไฟล์ที่ดาวน์โหลด
- เปรียบเทียบ hash ที่สร้างกับที่อยู่ในเว็บไซต์
หาก hash ตรงกันทุกประการ ไฟล์ไม่เสียหายระหว่างดาวน์โหลดและไม่ถูกดัดแปลง หากต่างกันแม้แต่ตัวอักษรเดียว ไม่ควรเชื่อถือไฟล์นั้น
กรณีใช้งาน 2: เข้าใจการเก็บรหัสผ่าน
เมื่อคุณสร้างรหัสผ่านบนเว็บไซต์ บริการที่รับผิดชอบไม่เก็บรหัสผ่านจริง แต่จะ hash มัน เมื่อคุณเข้าสู่ระบบ พวกเขา hash รหัสผ่านที่ป้อนแล้วเปรียบเทียบกับ hash ที่เก็บไว้
นี่คือเหตุผลที่:
- หากฐานข้อมูลถูกเจาะ ผู้โจมตีเห็นแค่ hash ไม่ใช่รหัสผ่าน
- ไม่มีใคร — แม้แต่ผู้ดูแลเว็บ — เห็นรหัสผ่านจริงของคุณ
- นี่เป็นเหตุผลที่เว็บไซต์ไม่สามารถ "ส่งรหัสผ่าน" ให้คุณได้ แต่ต้องรีเซ็ตแทน
สำคัญ การ hash เป็นกระบวนการทางเดียว ไม่สามารถย้อนกลับ hash เพื่อรับอินพุตต้นฉบับ นี่คือการออกแบบที่ตั้งใจและเป็นสิ่งที่ทำให้การ hash มีประโยชน์ด้านความปลอดภัย หากใครอ้างว่า "ถอดรหัส" hash พวกเขาใช้ตารางค้นหาของ hash ที่คำนวณล่วงหน้า ไม่ได้ย้อนอัลกอริทึม
ระบุ hash ที่ไม่รู้จัก
หากเจอ hash และไม่รู้ว่าอัลกอริทึมไหนสร้าง ใช้เครื่องมือ ตัวระบุ Hash วาง hash แล้วเครื่องมือวิเคราะห์ความยาวและรูปแบบเพื่อระบุอัลกอริทึมที่น่าจะเป็น มีประโยชน์เมื่อทำงานกับข้อมูลจากระบบภายนอกหรือฐานข้อมูลเก่า
คุณสมบัติหลักของ hash
- กำหนดได้ (Deterministic): อินพุตเดียวกันสร้าง hash เดียวกันเสมอ
- ความยาวคงที่: ไม่ว่าอินพุตจะใหญ่แค่ไหน ความยาวผลลัพธ์คงที่สำหรับอัลกอริทึมที่กำหนด
- ผลกระทบแบบหิมะถล่ม (Avalanche effect): การเปลี่ยนเล็กน้อยในอินพุตสร้าง hash ที่ต่างอย่างสิ้นเชิง
- ทางเดียว: ไม่สามารถหาอินพุตจาก hash
- ทนต่อการชน (Collision-resistant): ในทางปฏิบัติเป็นไปไม่ได้ที่อินพุตต่างกันสองตัวจะสร้าง hash เดียวกัน (แม้ MD5 และ SHA-1 มีจุดอ่อนเรื่องการชนที่รู้จัก)
คำถามที่พบบ่อย
การ hash เหมือนการเข้ารหัสไหม? ไม่ การเข้ารหัสเป็นสองทาง — ข้อมูลที่เข้ารหัสสามารถถอดรหัสด้วยกุญแจที่ถูกต้อง การ hash เป็นทางเดียว — ไม่สามารถกู้อินพุตต้นฉบับจาก hash ได้ ใช้สำหรับจุดประสงค์ต่างกัน
hash ไฟล์ขนาดใหญ่ได้ไหม? ได้ ตัวสร้าง Hash ประมวลผลไฟล์ทุกขนาดในเบราว์เซอร์ ไฟล์ขนาดใหญ่ใช้เวลาเพิ่มอีกไม่กี่วินาที
ทำไมอัลกอริทึมต่างๆ สร้าง hash ความยาวต่างกัน? แต่ละอัลกอริทึมถูกออกแบบให้มีขนาดผลลัพธ์เฉพาะ SHA-256 สร้าง 256 บิต (64 ตัวอักษร hex) เสมอ ในขณะที่ SHA-512 สร้าง 512 บิต (128 ตัวอักษร hex) hash ยิ่งยาว พื้นที่ค่าที่เป็นไปได้ยิ่งใหญ่
ขั้นตอนถัดไป
เมื่อเข้าใจการ hash แล้ว สำรวจ ตัวระบุ Hash เพื่อวิเคราะห์ hash ที่ไม่รู้จัก หากสนใจเรื่องความปลอดภัย ดูบทเรียน สร้างรหัสผ่านที่ปลอดภัย และ ตรวจสอบรหัสผ่านรั่วไหล