UltKit
รูปภาพ11
PDF13
เอกสารและข้อมูล7
วิดีโอ6
เสียง4
เครื่องมืออื่น ๆ22

เครื่องมือสร้างค่าแฮช (Hash Generator)

พิมพ์ข้อความหรือเลือกไฟล์ แล้วรับค่าไดเจสต์ MD5, SHA-1, SHA-256, SHA-384 และ SHA-512 แสดงเรียงกัน พร้อมปุ่มคัดลอกแยกสำหรับแต่ละค่า การคำนวณแฮชทำงานบนอุปกรณ์ของคุณด้วย Web Crypto API ของเบราว์เซอร์และโค้ด MD5 ภายในเครื่อง ไฟล์จึงไม่ถูกอัปโหลดเลย

0 ตัวอักษร · 0 คำ · 0 บรรทัด

MD5ไม่เหมาะกับงานด้านความปลอดภัย
—
SHA-1ไม่เหมาะกับงานด้านความปลอดภัย
—
SHA-256
—
SHA-384
—
SHA-512
—

0 ตัวอักษร · 0 คำ · 0 บรรทัด

ทำงานทั้งหมดภายในแท็บเบราว์เซอร์นี้ ข้อความของคุณจะไม่ถูกอัปโหลดหรือจัดเก็บไว้

ขนาดของ digest

ความยาวและ digest ของข้อมูลว่างคำนวณด้วย MD5 ของหน้านี้เองและ Web Crypto API ในขณะที่สร้างหน้านี้

อัลกอริทึมจำนวนบิตของ digestความยาวแบบ hexจำนวนบิตของบล็อกสถานะค่าแฮชของข้อมูลว่าง
MD512832512ไม่ปลอดภัยแล้ว: พบการชนกันในปี 2004d41d8cd98f00b204e9800998ecf8427e
SHA-116040512ไม่ปลอดภัยแล้ว: มีการสาธิตการชนกันในปี 2017da39a3ee5e6b4b0d3255bfef95601890afd80709
SHA-25625664512ปลอดภัย (SHA-2)e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
SHA-384384961024ปลอดภัย (SHA-2)38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b
SHA-5125121281024ปลอดภัย (SHA-2)cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e

อัลกอริทึมห้าแบบ ซึ่งสองแบบเลิกใช้แล้ว

ฟังก์ชันแฮชแปลงข้อมูลนำเข้าขนาดใดก็ได้ให้เป็นลายนิ้วมือขนาดคงที่ หากเปลี่ยนเพียงตัวอักษรเดียว บิตผลลัพธ์จะเปลี่ยนไปราวครึ่งหนึ่ง ดังนั้นแม้แต่ "UltKit" กับ "ultkit" ก็ให้ค่าไดเจสต์ที่ไม่เกี่ยวข้องกันเลย MD5 ซึ่ง Ron Rivest เผยแพร่ใน RFC 1321 เมื่อปี 1992 ให้ผลลัพธ์ 128 บิต (อักขระเลขฐานสิบหก 32 ตัว) ในปี 2004 Xiaoyun Wang และคณะแสดงวิธีสร้างข้อมูลนำเข้าสองชุดที่ต่างกันแต่ได้แฮช MD5 เดียวกัน และในปี 2012 มัลแวร์ Flame ใช้การชนกันของ MD5 ปลอมใบรับรองลงนามโค้ดของ Microsoft SHA-1 (160 บิต) ก็ถูกทำลายในแบบเดียวกัน เมื่อ Google และ CWI Amsterdam เผยแพร่การชนกันจริงครั้งแรกที่ชื่อ SHAttered ในปี 2017 ทั้งสองอัลกอริทึมจึงมีป้ายกำกับว่า "ไม่ควรใช้เพื่อความปลอดภัย" ในหน้านี้

SHA-256, SHA-384 และ SHA-512 อยู่ในตระกูล SHA-2 ซึ่ง NIST กำหนดไว้ใน FIPS 180-4 และยังไม่มีการโจมตีที่ใช้ได้จริง SHA-256 เป็นค่าเริ่มต้นสำหรับการดาวน์โหลดซอฟต์แวร์ ฟอร์แมตอ็อบเจกต์ใหม่ของ Git ใบรับรอง TLS และ Bitcoin ส่วน MD5 และ SHA-1 ยังใช้ได้กับงานที่ไม่มีผู้โจมตี เช่น ตรวจจับไฟล์เสียหายโดยไม่ตั้งใจ หรือหาไฟล์ซ้ำ จึงยังมีหน้าดาวน์โหลดจำนวนมากแสดงค่าเหล่านี้อยู่

ทำไมการแฮชจึงไม่ใช่การเข้ารหัส

การเข้ารหัสถูกออกแบบให้ย้อนกลับได้ ผู้ถือกุญแจจะได้ข้อมูลต้นฉบับคืน แต่แฮชไม่มีกุญแจและย้อนกลับไม่ได้ เพราะมีข้อมูลนำเข้านับไม่ถ้วนที่ให้ไดเจสต์เดียวกัน ทว่าแฮชก็ไม่ใช่ที่เก็บความลับที่ปลอดภัย ผู้โจมตีที่เห็น SHA-256 ของข้อมูลสั้นหรือที่พบบ่อยก็แค่แฮชตัวเลือกไปเรื่อย ๆ จนตรงกัน และมีตารางคำนวณล่วงหน้าครอบคลุมรหัสผ่านที่รู้จักหลายพันล้านรายการ แฮชแบบเร็วถูกสร้างมาให้เร็ว และ GPU ยุคใหม่ลอง SHA-256 ได้หลายพันล้านครั้งต่อวินาที

ดังนั้นควรเก็บรหัสผ่านด้วยแฮชรหัสผ่านที่ช้าโดยตั้งใจและมี salt เช่น Argon2, bcrypt หรือ scrypt ไม่ใช่ MD5 หรือ SHA-256 ล้วน ๆ และสร้างรหัสผ่านด้วยเครื่องมือสร้างรหัสผ่าน ใช้หน้านี้กับสิ่งที่แฮชแบบเร็วทำได้ดี คือตรวจว่าไฟล์ที่ดาวน์โหลดตรงกับค่าเช็กซัมที่ผู้เผยแพร่ระบุ เปรียบเทียบสองไฟล์โดยไม่ต้องเปิด หรือตรวจไดเจสต์ที่โค้ดของคุณคำนวณ ข้อความจะถูกแฮชเป็น UTF-8 โดยไม่มีอักขระขึ้นบรรทัดใหม่ท้ายสุด ซึ่งเป็นสาเหตุที่ผลลัพธ์มักต่างจาก echo "text" | sha256sum ในเทอร์มินัล ศูนย์รวมเครื่องมือสำหรับนักพัฒนา เปรียบเทียบการแฮชกับการเข้ารหัสแบบย้อนกลับได้บนตัวอย่างเดียวกัน

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

ตรวจสอบไฟล์ที่ดาวน์โหลดด้วยค่า checksum SHA-256 ได้อย่างไร
เลือกไฟล์ด้วย Hash a file จากนั้นเทียบบรรทัด SHA-256 กับค่าบนเว็บไซต์ของผู้เผยแพร่ ทุกตัวอักษรต้องตรงกัน เลขฐานสิบหกตัวพิมพ์ใหญ่เปลี่ยนเพียงการแสดงตัวอักษร a ถึง f เท่านั้น
ถอดรหัสค่าแฮช MD5 หรือ SHA-256 กลับได้หรือไม่
ไม่ได้ เพราะไม่มีอะไรให้ถอดรหัส เว็บไซต์ที่อ้างว่าย้อนแฮชได้เพียงค้นไดเจสต์จากตารางสตริงที่เคยแฮชไว้ ซึ่งใช้ได้เฉพาะข้อมูลสั้นหรือที่พบบ่อย
ทำไมยังมี MD5 ให้ใช้ ทั้งที่ไม่ปลอดภัยแล้ว
หลายระบบยังเผยแพร่เช็กซัม MD5 และใช้ตรวจจับการเปลี่ยนแปลงโดยไม่ตั้งใจได้ดี MD5 เสียหายก็เฉพาะกรณีที่ผู้โจมตีจงใจสร้างไฟล์ที่ชนกัน
ค่าแฮช MD5 ของสตริงว่างคืออะไร
d41d8cd98f00b204e9800998ecf8427e หากเห็นค่านี้ มักแปลว่าโปรแกรมแฮชข้อมูลว่างเปล่า เช่น ไฟล์โหลดไม่สำเร็จก่อนที่จะแฮช
SHA-512 ปลอดภัยกว่า SHA-256 หรือไม่
ทั้งสองยังไม่ถูกทำลายและเกินกว่าจะเดาสุ่มได้ SHA-512 ให้ผลลัพธ์ยาวกว่าและอาจเร็วกว่าบนโปรเซสเซอร์ 64 บิต แต่ SHA-256 เป็นตัวเลือกที่คาดหวังกันแพร่หลายกว่าสำหรับเช็กซัมและลายเซ็น