สร้างค่าแฮช
วางข้อความแล้วได้ค่าแฮชครบทั้งห้าแบบพร้อมกัน ทุกอย่างคำนวณบนเครื่องของคุณ
ค่าแฮช
ค่าแฮชจะปรากฏที่นี่เมื่อคุณพิมพ์
- MD5⚠ ไม่ปลอดภัยสำหรับงานความมั่นคง ใช้ตรวจสอบความถูกต้องของไฟล์เท่านั้น
- SHA-1⚠ ไม่ปลอดภัยสำหรับงานความมั่นคง ใช้ตรวจสอบความถูกต้องของไฟล์เท่านั้น
- SHA-256
- SHA-384
- SHA-512
คำนวณในเบราว์เซอร์ของคุณ ข้อความที่วางไม่ถูกอัปโหลด
วิธีใช้งาน
- พิมพ์หรือวางข้อความ ค่าแฮชทั้งห้าจะอัปเดตทันทีขณะพิมพ์ ไม่ต้องกดปุ่มใด
- ข้อความจะถูกเข้ารหัสเป็น UTF-8 ก่อนคำนวณ ภาษาไทย อิโมจิ และอักษรที่มีเครื่องหมายกำกับ จึงได้ค่าแฮชตรงกับที่คำนวณจากที่อื่น
- กดปุ่มคัดลอกข้าง ๆ ค่าแฮชที่ต้องการเพื่อคัดลอกไปใช้งาน
- การแฮชให้ผลคงที่เสมอ ข้อความเดิมได้ค่าเดิมทุกครั้ง และถ้าเปลี่ยนแม้เพียงตัวอักษรเดียว ค่าแฮชจะเปลี่ยนไปทั้งหมด
ควรเลือกอัลกอริทึมไหน
ขึ้นอยู่กับว่ามีคนพยายามหลอกคุณอยู่หรือไม่ ค่าแฮชแบ่งได้เป็นสองกลุ่ม และการใช้สลับกลุ่มกันคือความผิดพลาดที่ควรเลี่ยงที่สุด
- SHA-256 คือตัวเลือกมาตรฐานที่ควรใช้ เป็นสิ่งที่ซอฟต์แวร์สมัยใหม่ ใบรับรอง และบล็อกเชนใช้กัน และยังไม่มีวิธีโจมตีที่ทำได้จริง
- SHA-384 และ SHA-512 ปลอดภัยเท่ากันและให้ค่าแฮชที่ยาวกว่า บนเครื่อง 64 บิต SHA-512 มักเร็วกว่า SHA-256 ด้วยซ้ำ
- MD5 และ SHA-1 ถูกเจาะได้แล้วในเชิงการเข้ารหัส นักวิจัยสร้างไฟล์สองไฟล์ที่ต่างกันแต่ได้ค่าแฮชเดียวกันได้ และเคยสาธิตกับไฟล์ PDF และใบรับรอง TLS จริงมาแล้ว
- แต่ "ถูกเจาะได้" ไม่ได้แปลว่าใช้ไม่ได้เลย MD5 และ SHA-1 ยังเหมาะกับการตรวจจับความเสียหายที่เกิดโดยบังเอิญ เช่น ตรวจว่าไฟล์ดาวน์โหลดครบหรือไม่ ใช้เป็นคีย์แคช หรือหาไฟล์ซ้ำ เพราะสถานการณ์เหล่านี้ไม่มีผู้โจมตีเข้ามาเกี่ยวข้อง
อย่าใช้แฮชเหล่านี้กับรหัสผ่าน
นี่คือการใช้ผิดที่พบบ่อยที่สุด จึงขอพูดให้ชัด อัลกอริทึมเหล่านี้ถูกออกแบบมาให้เร็ว ซึ่งเป็นคุณสมบัติที่ผิดโดยสิ้นเชิงสำหรับรหัสผ่าน การ์ดจอสมัยใหม่ทดลองรหัสได้หลายพันล้านครั้งต่อวินาทีกับค่าแฮช MD5 หรือ SHA-256 การเก็บรหัสผ่านต้องใช้ฟังก์ชันที่ตั้งใจให้ช้าและมีการเติมค่าสุ่ม เช่น bcrypt, scrypt หรือ Argon2 การเติมค่าสุ่มเองลงใน SHA-256 ไม่ได้แก้ปัญหานี้ เพราะต้นเหตุคือความเร็ว ไม่ใช่ค่าสุ่ม
ข้อความที่วางไม่ออกจากเครื่องคุณ
ค่าแฮชถูกคำนวณในเบราว์เซอร์ของคุณ ตั้งแต่ SHA-1 ถึง SHA-512 ใช้ Web Crypto API ที่มีอยู่ในเบราว์เซอร์เอง ส่วน MD5 ทำงานเป็น JavaScript บนหน้าเว็บ ไม่มีเซิร์ฟเวอร์ให้ส่งข้อความไป ซึ่งสำคัญมากสำหรับเครื่องมือที่คนมักวาง API key โทเคน หรือบันทึกส่วนตัวลงไป ลองโหลดหน้าเว็บแล้วตัดอินเทอร์เน็ตดูได้ เครื่องมือยังทำงานปกติ
คำถามที่พบบ่อย
- ถอดรหัสค่าแฮชกลับเป็นข้อความเดิมได้ไหม
- ไม่ได้ การแฮชเป็นทางเดียวโดยการออกแบบ ค่าแฮชคือลายนิ้วมือขนาดคงที่ ไม่ได้เก็บข้อความต้นฉบับไว้ข้างใน เว็บที่โฆษณาว่า "ถอดรหัส MD5" คือการเอาค่าแฮชของคุณไปค้นในตารางที่คำนวณไว้ล่วงหน้าจากข้อความยอดนิยม มันจะเจอ "password123" แต่จะไม่เจอสิ่งที่คุณตั้งใจเลือกมาอย่างดี
- ทำไม MD5 กับ SHA-1 ถึงมีคำเตือน
- ทั้งคู่ถูกโจมตีแบบชนกันได้จริง คือผู้โจมตีสร้างข้อมูลสองชุดที่ต่างกันแต่ได้ค่าแฮชเดียวกันได้ เคยมีการสาธิตกับใบรับรอง TLS จริงในกรณี MD5 และกับไฟล์ PDF จริงในกรณี SHA-1 หากคุณใช้ค่าแฮชเพื่อพิสูจน์ว่าข้อมูลไม่ถูกแก้ไข ให้ใช้ SHA-256 ขึ้นไป แต่ถ้าใช้ตรวจว่าไฟล์ดาวน์โหลดเสียหายระหว่างทางหรือไม่ MD5 ยังเพียงพอ
- ทำไมค่าแฮชเปลี่ยนทั้งที่ข้อความดูเหมือนเดิม
- เกือบทุกครั้งเกิดจากช่องว่างท้ายข้อความ การขึ้นบรรทัดใหม่ที่ท้ายไฟล์ หรือรูปแบบการขึ้นบรรทัดที่ต่างกันระหว่าง Windows กับ Unix การแฮชแม่นยำระดับไบต์ ไบต์เดียวที่มองไม่เห็นก็เปลี่ยนค่าแฮชทั้งหมด ลองเทียบจำนวนตัวอักษรของทั้งสองข้อความมักเจอต้นเหตุ
- ค่าแฮชของข้อความไทยต่างจากคำแปลภาษาอังกฤษไหม
- ต่างกันโดยสิ้นเชิง ค่าแฮชคำนวณจากไบต์ UTF-8 ตัวอักษรที่ต่างกันจึงให้ค่าแฮชที่ไม่เหมือนกันเลย ทั้งนี้อักษรไทยใช้พื้นที่สามไบต์ต่อตัวขณะที่อังกฤษใช้หนึ่งไบต์ แต่มีผลแค่กับความยาวข้อมูลนำเข้าเท่านั้น ไม่มีผลกับขนาดผลลัพธ์ ค่าแฮช SHA-256 ยาว 64 ตัวอักษรเสมอไม่ว่าจะใส่อะไรเข้าไป
- ใช้ตรวจสอบไฟล์ที่ดาวน์โหลดมาได้ไหม
- เครื่องมือนี้แฮชข้อความ ไม่ใช่ไฟล์ จึงใช้กับไฟล์ดาวน์โหลดขนาดใหญ่โดยตรงไม่ได้ แต่ถ้าเป็นการตรวจสอบข้อมูลที่เป็นข้อความ เช่น เทียบไฟล์ตั้งค่า ลายนิ้วมือใบรับรอง หรือรายการสั้น ๆ ก็วางเนื้อหาลงไปแล้วเทียบค่าแฮชกับที่ได้รับมาได้
- ใช้กับงานที่ต้องการความปลอดภัยสูงได้หรือไม่
- ตัวค่าแฮชที่ได้ถูกต้องและเป็นไปตามมาตรฐาน แต่หากคุณจัดการกับข้อมูลลับ ควรระลึกว่าเบราว์เซอร์และส่วนขยายที่ติดตั้งไว้มองเห็นสิ่งที่คุณวางลงในหน้าเว็บได้ สำหรับข้อมูลที่อ่อนไหวจริง ๆ แนะนำให้ใช้เครื่องมือบนเครื่องอย่าง shasum หรือ certutil แทน