ข้ามไปยังเนื้อหาหลัก
FreeOnlineTools Go
ไทย
คำอธิบาย

การแฮชคืออะไร? คำอธิบายฉบับสมบูรณ์ของฟังก์ชันแฮช

โดย FreeOnlineTools Team · อัปเดตเมื่อ 2026-09-02

ตอบด่วน

Hashing แปลง input ใดๆ เป็น output ขนาดคงที่ (hash) ด้วยฟังก์ชัน one-way input เดียวกันได้ hash เดียวกัน; input ต่างกันได้ hash ต่างกัน (collision resistance) ใช้ Hash Generator ฟรีของเราเพื่อ SHA-256, SHA-1, MD5 ในเบราว์เซอร์

การแนะนำ

Hashing คือกระบวนการแปลง input ขนาดใดๆ เป็น output ขนาดคงที่เรียก hash หรือ digest ฟังก์ชัน hash คือ algorithm ที่ทำการแปลง ฟังก์ชัน hash cryptography มีคุณสมบัติพิเศษสำหรับ integrity เก็บพาสเวิร์ด และ signature ต่างจาก encryption hashing เป็น one-way —ย้อนกลับไม่ได้

ทีละขั้นตอน

  1. ทำความเข้าใจคุณสมบัติของฟังก์ชันแฮช

    ฟังก์ชันแฮชที่เข้ารหัสมีคุณสมบัติหลักสี่ประการ: (1) การกำหนด - อินพุตเดียวกันจะให้เอาต์พุตเดียวกันเสมอ (2) รวดเร็วในการคำนวณ (3) ทางเดียว - ไม่สามารถกู้คืนอินพุตจากแฮชได้ (4) ทนต่อการชนกัน — ไม่สามารถค้นหาอินพุตที่แตกต่างกันสองอันที่มีแฮชเดียวกันได้ (5) เอฟเฟกต์หิมะถล่ม — การเปลี่ยนแปลงอินพุตเล็กน้อยจะเปลี่ยนเอาต์พุตอย่างมาก

  2. เรียนรู้อัลกอริทึมทั่วไป

    SHA-256 (เอาต์พุต 256 บิต, 64 ตัวอักษรฐานสิบหก) เป็นมาตรฐานสมัยใหม่ — ใช้ใน Bitcoin, TLS และลายเซ็นดิจิทัล SHA-512 ปลอดภัยกว่าแต่ช้ากว่า SHA-3 เป็นตระกูลใหม่ล่าสุด MD5 (128 บิต) และ SHA-1 (160 บิต) ใช้งานไม่ได้เนื่องจากการต้านทานการชนกัน และไม่ควรนำไปใช้เพื่อความปลอดภัย

  3. แยกแยะแฮชจากการเข้ารหัส

    การแฮชเป็นแบบทางเดียว - คุณไม่สามารถย้อนกลับได้ การเข้ารหัสเป็นแบบสองทาง — คุณสามารถถอดรหัสได้ด้วยกุญแจ การแฮชมีไว้เพื่อความสมบูรณ์และการตรวจสอบ การเข้ารหัสมีไว้เพื่อการรักษาความลับ อย่าใช้แฮชเพื่อจัดเก็บข้อมูลที่คุณต้องการกู้คืน

  4. ใช้แฮชอย่างถูกต้อง

    เพื่อความสมบูรณ์ของข้อมูล ให้แฮชข้อมูลและเปรียบเทียบกับแฮชที่ทราบว่าใช้งานได้ สำหรับรหัสผ่าน ให้ใช้แฮชที่ยืดคีย์ช้าๆ (bcrypt, scrypt, Argon2) ด้วยเกลือที่ไม่ซ้ำใคร — ไม่ใช่ SHA-256 แบบดิบ ซึ่งเร็วเกินไปและเสี่ยงต่อการถูกใช้กำลังดุร้าย

ตัวอย่าง

SHA-256 แฮช

ป้อนข้อมูล: Hello, World!

เอาท์พุต: dffd6021bb2bd5b0af676290809ec008dfca50a8d29e6ac0a52c2d7e9f0a3b0c

เอฟเฟกต์หิมะถล่ม

ป้อนข้อมูล: สวัสดีชาวโลก! (เทียบกับสวัสดีชาวโลก?)

เอาท์พุต: แฮชที่แตกต่างไปจากเดิมอย่างสิ้นเชิงแม้จะมีการเปลี่ยนแปลงหนึ่งอักขระก็ตาม

MD5 แฮช (ใช้งานไม่ได้ เฉพาะระบบเดิมเท่านั้น)

ป้อนข้อมูล: Hello, World!

เอาท์พุต: ed0760733d7505e9ceacf8af225020ac

ปัญหาทั่วไป

  • การใช้ MD5 หรือ SHA-1 เพื่อความปลอดภัย — ทั้งคู่ใช้งานไม่ได้เนื่องจากการต้านทานการชนกัน ใช้ SHA-256 หรือสูงกว่าเพื่อจุดประสงค์ด้านความปลอดภัย
  • การแฮชรหัสผ่านโดยไม่ใช้เกลือ — รหัสผ่านที่เหมือนกันจะสร้างแฮชที่เหมือนกัน ทำให้เกิดการโจมตี Rainbow Table ใช้ bcrypt, scrypt หรือ Argon2 กับ Salt ที่เป็นเอกลักษณ์
  • การแฮชที่สับสนด้วยการเข้ารหัส —การแฮชเป็นแบบทางเดียว (ไม่สามารถย้อนกลับได้) การเข้ารหัสเป็นแบบสองทาง (สามารถถอดรหัสได้ด้วยกุญแจ)
  • การคาดหวังว่าแฮชจะไม่ซ้ำกัน - การชนกันเป็นไปได้ในทางทฤษฎี แต่เป็นไปไม่ได้ในทางปฏิบัติสำหรับอัลกอริธึมที่ปลอดภัย (SHA-256 มีเอาต์พุตที่เป็นไปได้ 2^256 รายการ)

เคล็ดลับ

  • ใช้ SHA-256 สำหรับการตรวจสอบความถูกต้องของข้อมูล การระบุเนื้อหา และลายเซ็นดิจิทัล
  • สำหรับการจัดเก็บรหัสผ่าน ให้ใช้ bcrypt, scrypt หรือ Argon2 — ไม่ใช่ raw SHA-256 อัลกอริธึมเหล่านี้มีการยืดคีย์เพื่อต้านทานแรงดุร้าย
  • การแฮชเป็นแบบทางเดียว อย่าใช้เพื่อจัดเก็บข้อมูลที่คุณต้องการกู้คืน ใช้การเข้ารหัสสำหรับข้อมูลที่เป็นความลับ
  • ใช้ตัวสร้างแฮชของเราเพื่อคำนวณ SHA-256 และแฮชอื่นๆ ทันทีในเบราว์เซอร์ของคุณ

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

คำแนะนำที่เกี่ยวข้อง

อ้างอิง