RevealTheme logo

เครื่องมือสร้างแฮช (MD5 / SHA)

สร้างแฮชเชิงเข้ารหัส: MD5, SHA-1, SHA-256, SHA-384 และ SHA-512 ทำงานในเบราว์เซอร์ของคุณผ่าน Web Crypto API

วิธีใช้เครื่องมือนี้

  1. 1

    Type or paste the text you want to hash into the input box.

  2. 2

    Click Generate to compute the digests.

  3. 3

    Read the SHA-1, SHA-256, SHA-384, and SHA-512 results, each shown as a lowercase hexadecimal string.

  4. 4

    Select a hash and copy it for use as a checksum, cache key, or content identifier.

แฮชเชิงเข้ารหัสคืออะไรและคุณต้องใช้เมื่อใด?

ฟังก์ชันแฮชเชิงเข้ารหัสคืออัลกอริทึมเชิงกำหนด (deterministic) ที่แปลงอินพุตใดๆ (ไม่กี่ไบต์ ไฟล์ขนาดหลายกิกะไบต์ หรือวิกิพีเดียภาษาอังกฤษทั้งหมด) ให้เป็นเอาต์พุตขนาดคงที่ที่เรียกว่า 'ไดเจสต์' (digest) หรือ 'แฮช' SHA-256 ผลิตเอาต์พุต 256 บิต (64 อักขระเลขฐานสิบหก) SHA-512 ผลิต 512 บิต ส่วน MD5 ผลิต 128 บิต คุณสมบัติสี่ประการที่นิยามแฮชแบบ 'เชิงเข้ารหัส' ต่างจากแบบไม่เชิงเข้ารหัส (อย่าง CRC32) ได้แก่ ความเป็นเชิงกำหนด (อินพุตเดียวกัน → แฮชเดียวกันเสมอ) เอฟเฟกต์หิมะถล่ม (avalanche) (การเปลี่ยนเพียงบิตเดียวจะเปลี่ยนบิตเอาต์พุตประมาณครึ่งหนึ่ง) ความต้านทานต่อพรีอิมเมจ (preimage) (คุณไม่สามารถย้อนกลับแฮชเพื่อกู้คืนอินพุตได้) และความต้านทานต่อการชนกัน (collision) (คุณไม่สามารถหาอินพุตสองชุดที่ผลิตแฮชเดียวกันได้) เมื่อฟังก์ชันแฮชถูกเจาะ มักจะเป็นสองคุณสมบัติหลังนี้ที่ล่มสลาย การโจมตีแบบการชนกันต่อ MD5 (ปี 2004) และ SHA-1 (ปี 2017) ทำให้ทั้งสองไม่เหมาะสมสำหรับวัตถุประสงค์ด้านความปลอดภัย แม้ว่าจะยังคงใช้ได้สำหรับการตรวจสอบความสมบูรณ์แบบไม่เป็นปฏิปักษ์ เช่น เช็คซัมของไฟล์ ใช้ SHA-256 หรือ SHA-512 สำหรับงานด้านความปลอดภัยใหม่ใดๆ เครื่องมือนี้ใช้ Web Crypto API ของเบราว์เซอร์ (crypto.subtle.digest) ซึ่งเร่งความเร็วด้วยฮาร์ดแวร์บนอุปกรณ์สมัยใหม่ และผลิตเอาต์พุตที่เหมือนกันทุกไบต์กับ OpenSSL โมดูล hashlib ของ Python และโมดูล crypto ของ Node

กรณีการใช้งานทั่วไป

  • ตรวจสอบว่าไฟล์ที่ดาวน์โหลดมาตรงกับ SHA-256 ที่ผู้เผยแพร่ระบุไว้ (ISO ของ Linux, การเผยแพร่เครื่องมือด้านความปลอดภัย)

  • สร้างตัวระบุที่อิงตามเนื้อหาสำหรับคีย์แคช (hash ของเนื้อหา → URL ที่เสถียร)

  • สร้างคีย์สำหรับการขจัดข้อมูลซ้ำเพื่อจัดเก็บไฟล์ (hash ตรงกัน = ไฟล์เหมือนกัน)

  • สร้างการตรวจสอบลายเซ็นของ webhook — HMAC-SHA256 ของ payload ด้วย secret ที่ใช้ร่วมกัน

  • สร้าง hash ของเนื้อหาแบบ Git (SHA-1 สำหรับตัวระบุ tree/blob)

  • ตรวจสอบความสมบูรณ์ของแถวฐานข้อมูลโดยการ hash คอลัมน์คีย์แล้วจัดเก็บค่า hash นั้น

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

ทำไม MD5 จึงล้าสมัยสำหรับด้านความปลอดภัย?
นักเข้ารหัสได้ค้นพบวิธีสร้างอินพุตสองชุดที่แตกต่างกันซึ่งผลิต MD5 เดียวกัน เมื่อสามารถหาการชนกันได้ MD5 ก็เลิกเป็นสัญญาณความสมบูรณ์ที่เชื่อถือได้ในสถานการณ์ที่เป็นปฏิปักษ์ (มีคนอาจสับเปลี่ยนไฟล์และสร้างอีกไฟล์ที่มีแฮชเดียวกันได้) สำหรับเช็คซัมแบบไม่เป็นปฏิปักษ์ (ไฟล์ดาวน์โหลดถูกต้องหรือไม่?) MD5 ยังคงทำงานได้ดี มันจะไม่ปลอดภัยเฉพาะกับลายเซ็นดิจิทัลหรือสิ่งใดก็ตามที่ผู้โจมตีมีอิทธิพลต่อมันได้
สามารถย้อนกลับแฮชได้หรือไม่?
ไม่ได้โดยตรง เพราะแฮชเชิงเข้ารหัสเป็นฟังก์ชันทางเดียว แต่: (1) สำหรับอินพุตที่สั้นหรือมีเอนโทรปีต่ำ (รหัสผ่าน วลีที่พบบ่อย) ผู้โจมตีสามารถคำนวณแฮชของอินพุตที่น่าจะเป็นไปได้ทุกชุดไว้ล่วงหน้า (rainbow table) และค้นหาแฮชของคุณ ด้วยเหตุนี้การแฮชรหัสผ่านจึงใช้ salt แบบสุ่มที่ไม่ซ้ำกัน (2) สำหรับอินพุตที่มีความยาวตามใจและมีเอนโทรปีสูง (คีย์แบบสุ่ม เนื้อหาไฟล์) การย้อนกลับเป็นสิ่งที่ไม่สามารถทำได้ในเชิงการคำนวณ
ความแตกต่างระหว่าง SHA-256 และ HMAC-SHA256 คืออะไร?
SHA-256 เป็นแฮชธรรมดา: ใครก็ตามที่มีอินพุตสามารถคำนวณแฮชเดียวกันได้ ส่วน HMAC-SHA256 เป็นแฮชที่มีคีย์: คุณต้องมีความลับที่ใช้ร่วมกันเพื่อคำนวณ webhook ใช้ HMAC เพราะผู้ตรวจสอบต้องการทราบว่า 'สิ่งนี้ถูกสร้างโดยคนที่รู้ความลับหรือไม่?' ไม่ใช่แค่ 'payload ตรงกับค่าที่รู้จักหรือไม่?' ใช้เครื่องมือสร้าง HMAC ของเราสำหรับแบบที่มีคีย์
ฉันควรใช้ SHA-512 แทน SHA-256 เมื่อใด?
SHA-512 มีบิตเอาต์พุตมากกว่า (512 เทียบกับ 256) ซึ่งทำให้การโจมตีแบบการชนกันยากขึ้นในทางทฤษฎี แต่ SHA-256 ก็ปลอดภัยเกินกว่ากรอบเวลาที่สมเหตุสมผลใดๆ อยู่แล้ว (ความแข็งแกร่งที่แท้จริงต่อการชนกันอยู่ที่ 2^128) บางครั้ง SHA-512 เร็วกว่าบนฮาร์ดแวร์ 64 บิตเนื่องจากการดำเนินการภายในที่กว้างกว่า ใช้ SHA-256 เป็นค่าเริ่มต้น ใช้ SHA-512 หากคุณมีเหตุผลที่เจาะจง
ทำไมแฮช SHA ของฉันจึงแตกต่างจากของเครื่องมืออื่น?
สาเหตุที่น่าจะเป็นไปได้สามประการ: (1) การเข้ารหัสอินพุตที่แตกต่างกัน: ไบต์ที่นำไปแฮชต้องตรงกัน UTF-8, UTF-16 หรือ Latin-1 ผลิตแฮชที่แตกต่างกันสำหรับข้อความที่มองเห็นเหมือนกัน เครื่องมือนี้เข้ารหัสอินพุตเป็น UTF-8 (2) การขึ้นบรรทัดใหม่ท้ายสุด: เครื่องมือบางตัวเพิ่มการขึ้นบรรทัดใหม่และบางตัวไม่เพิ่ม (3) BOM (เครื่องหมายลำดับไบต์): คำนำหน้าสามไบต์ที่ซ่อนอยู่ซึ่งโปรแกรมแก้ไขบางตัวเพิ่มลงในไฟล์ UTF-8
ปลอดภัยที่จะใช้กับข้อมูลที่ละเอียดอ่อนหรือไม่?
ปลอดภัย การคำนวณแฮชเกิดขึ้นในเครื่องบนเบราว์เซอร์ของคุณผ่าน Web Crypto อินพุตไม่เคยออกจากอุปกรณ์ของคุณ ตัวแฮชเองไม่ได้ 'ละเอียดอ่อน' ในแง่ที่ว่ามันไม่เปิดเผยอินพุต (โดยสมมติว่ามีเอนโทรปีเพียงพอ) แต่หากคุณคำนวณแฮชของข้อมูลที่มีเอนโทรปีต่ำ (อย่างรหัสผ่านที่ไม่มี salt) โปรดทราบว่าใครก็ตามที่เห็นแฮชอาจย้อนกลับมันได้ผ่าน rainbow table

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

ตัวถอดรหัส JWT

ถอดรหัส JSON Web Tokens (JWT) ได้ทันที ทำงานในเบราว์เซอร์ของคุณ โทเค็นจะไม่ออกจากอุปกรณ์ของคุณ จึงปลอดภัยที่จะใช้กับซีเคร็ตในโปรดักชัน

เครื่องมือจัดรูปแบบและตรวจสอบ JSON

จัดรูปแบบ ตรวจสอบ และย่อขนาด JSON ออนไลน์ ทำงานทั้งหมดในเบราว์เซอร์ของคุณ ข้อมูลของคุณจะไม่ออกจากอุปกรณ์ของคุณเลย

เครื่องมือจัดรูปแบบ XML

จัดรูปแบบและทำให้เอกสาร XML อ่านง่ายขึ้น มีประโยชน์สำหรับ SOAP, sitemap, feed RSS และไฟล์การกำหนดค่า

ตัวเข้ารหัสและถอดรหัส Base64

เข้ารหัสสตริงเป็น Base64 หรือถอดรหัส Base64 เป็นข้อความ เคารพความเป็นส่วนตัวของคุณ: ทำงานในเบราว์เซอร์ของคุณ

ตัวเข้ารหัสและถอดรหัส URL

แปลงข้อความเป็นการเข้ารหัสที่ปลอดภัยสำหรับ URL (การเข้ารหัสแบบเปอร์เซ็นต์) และกลับกัน มีประโยชน์สำหรับ query string การเปลี่ยนเส้นทาง และโฟลว์ OAuth

เครื่องมือเข้ารหัสและถอดรหัสเอนทิตี HTML

แปลงอักขระพิเศษเป็นเอนทิตี HTML (&, < เป็นต้น) และในทางกลับกัน มีประโยชน์สำหรับการฝังข้อความลงใน HTML อย่างปลอดภัย

สมัครรับข่าวสารอัปเดต

เราไม่ขายอีเมลของคุณ เราไม่ส่งสแปม

© 2026 RevealTheme. All rights reserved.