SHA-256 คืออะไร วิธีใช้สร้างแฮชเช็คความถูกต้อง
2026-08-13
SHA-256 คืออะไร วิธีใช้สร้างแฮชเช็คความถูกต้อง
SHA-256 คือฟังก์ชันแฮช (hash function) ที่แปลงข้อมูลใดๆ เป็นค่าฐาน 16 ความยาว 64 ตัวอักษร ใช้ตรวจสอบความถูกต้องของข้อมูลและไฟล์
คุณสมบัติของ SHA-256
- ทางเดียว: แปลงข้อมูลเป็นแฮชได้ แต่ไม่สามารถย้อนกลับเป็นข้อมูลเดิม
- ไวต่อการเปลี่ยนแปลง: เปลี่ยนตัวอักษรแค่ 1 ตัว → แฮชเปลี่ยนทั้งก้อน
- ผลลัพธ์คงที่: ข้อมูลเดียวกัน → แฮชเดียวกันเสมอ
ตัวอย่าง
ข้อความ hello:
SHA-256 = 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
ข้อความ Hello (ตัว H ใหญ่): แฮชต่างกันโดยสิ้นเชิง
ใช้กับอะไรบ้าง
- ตรวจสอบไฟล์ที่ดาวน์โหลด (เทียบ checksum จากเว็บต้นทาง)
- ลายเซ็นดิจิทัลและใบรับรอง
- Blockchain และระบบเงินดิจิทัล
- เก็บรหัสผ่านแบบแฮช (ไม่เก็บรหัสตรงๆ)
ลองใช้ เครื่องสร้าง SHA-256 เพื่อสร้างแฮชทันที
SHA-256 ต่างจากการเข้ารหัส (Encryption) อย่างไร
หลายคนเข้าใจผิดว่าแฮชคือการเข้ารหัส ทั้งที่จริงแล้วต่างกันคนละเรื่อง การเข้ารหัสเป็นการ “เก็บข้อมูลให้ปลอดภัยแต่ยังถอยกลับได้” ด้วยกุญแจ ส่วน SHA-256 เป็นการ “ย่อยข้อมูลเป็นลายนิ้วมือ” แบบทางเดียว ไม่มีกุญแจ ไม่มีทางถอดกลับ
เปรียบง่ายๆ คือถ้าเข้ารหัสเหมือน “ล็อกของในตู้เซฟ” SHA-256 ก็เหมือน “ลายพิมพ์นิ้วมือ” — เราเทียบลายนิ้วมือเพื่อรู้ว่าใช่คนเดิมหรือเปล่า แต่สร้างตัวคนขึ้นมาจากลายนิ้วมือไม่ได้ ดังนั้นถ้าโจทย์ของคุณคือ “ต้องเอาข้อมูลกลับคืนมาได้” ให้ใช้การเข้ารหัส แต่ถ้าโจทย์คือ “ตรวจว่าข้อมูลถูกแก้ไขหรือเปล่า” ให้ใช้ SHA-256
จากประสบการณ์ทีมงาน: สิ่งที่ผู้ใช้จริงถามเราบ่อย
ทีมงานเราทำเว็บและระบบให้ร้านอาหารและ SME ไทยมาหลายปี ประเด็นเรื่องแฮชเจอบ่อยสองกรณีคือ (1) เจ้าของร้านที่ต้องตรวจสอบไฟล์โปรแกรม POS หรือไฟล์อัปเดตที่ดาวน์โหลดมาว่าเป็นของแท้จากผู้ให้บริการจริง และ (2) เพื่อนนักพัฒนาที่ต้องเช็คว่าไฟล์ที่ส่งให้ลูกค้าเหมือนต้นฉบับหรือถูกอินเทอร์เน็ตแปลกปลอมเข้ามา
สิ่งที่เราได้บทเรียนคือ “checksum ไม่มีประโยชน์ถ้าไม่มีต้นทางที่น่าเชื่อถือ” — การแฮชช่วยยืนยันว่าไฟล์ไม่ถูกเปลี่ยนระหว่างทาง แต่ถ้าคนร้ายเปลี่ยนทั้งไฟล์และค่า checksum ที่เผยแพร่ด้วยกัน ผู้ใช้ก็จับได้ยาก ดังนั้นควรดึงค่าแฮชจากช่องทางทางการของผู้ให้บริการเสมอ เช่น เว็บไซต์หลักหรือช่องทางที่ยืนยันตัวตนได้ ไม่ใช่จากลิงก์แชร์ที่ไม่รู้จัก
ตารางตัวอย่าง: เวลาที่ใช้และผลลัพธ์เปรียบเทียบ
ตารางด้านล่างเป็นตัวอย่างเชิงอธิบาย เพื่อให้เห็นภาพว่าการใช้ SHA-256 ไม่ได้ซับซ้อนอย่างที่คิด เครื่องมือออนไลน์สามารถแฮชข้อความได้ในไม่กี่วินาที
| กรณีใช้งาน | ข้อมูลตัวอย่าง | สิ่งที่ต้องทำ | เวลาโดยประมาณ |
|---|---|---|---|
| เช็คข้อความสั้น | ข้อความ hello | วางในเครื่องมือ ได้แฮช 64 ตัว | ไม่เกิน 5 วินาที |
| เทียบไฟล์ดาวน์โหลด | ไฟล์ติดตั้งโปรแกรม | รันคำสั่งแฮช แล้วเทียบกับเว็บต้นทาง | 10-60 วินาที (แล้วแต่ขนาดไฟล์) |
| เช็คสำรองข้อมูลร้าน | ไฟล์สำรองฐานข้อมูลเมนูอาหาร | แฮชก่อนสำรอง และหลังกู้คืน เทียบกัน | 1-2 นาที |
| ยืนยันไฟล์ส่งให้ลูกค้า | ไฟล์งานออกแบบ/เอกสาร PDF | แฮชแล้วส่งค่าแฮชผ่านช่องทางอื่น | ไม่เกิน 1 นาที |
หมายเหตุ: ผลลัพธ์ของ SHA-256 มีความยาวคงที่ 64 ตัวอักษร (256 บิต) เสมอ ไม่ว่าข้อมูลต้นฉบับจะเป็นคำว่า hello หรือไฟล์ขนาดหลายกิกะไบต์ นี่คือจุดที่ทำให้มันใช้เทียบข้อมูลได้สะดวก
ข้อผิดพลาดที่คนไทยพลาดบ่อย
1. ลืมเรื่องตัวพิมพ์ใหญ่-เล็ก อย่างที่เห็นในตัวอย่าง hello กับ Hello ให้ผลลัพธ์คนละก้อน การพิมพ์เมนูอาหาร “ข้าวผัดกะเพรา” กับ “ข้าวผัดกะเพราะ” ก็ให้แฮชต่างกันเช่นกัน ต้องมั่นใจว่าข้อมูลต้นฉบับเป๊ะทุกไบต์
**2. เทียบแฮชผ่านช่อง