Crypto Glossary
Hash
Hash หรือ Hash function คือกลไกในการแปลงข้อมูล โดยการนำเอาข้อมูลต่าง ๆ มาทำการเข้ารหัสและผ่านกระบวนการทางคณิตศาสตร์ซึ่งเรียกว่า Hash เพื่อให้เกิดข้อมูลที่มีลักษณะเฉพาะ ซึ่งในที่นี้เรียกว่า ค่าแฮช (Hash value)
ฟังก์ชันแฮชมักใช้โครงสร้างข้อมูลในระบบคอมพิวเตอร์สำหรับงานต่างๆ เช่น การตรวจสอบความสมบูรณ์ของข้อความและการตรวจสอบความถูกต้องของข้อมูล
คุณสมบัติของฟังก์ชันแฮช (Hash function)
เมื่อข้อมูลได้ผ่านการฟังก์ชันแฮชแล้วควรมีขนาดเท่ากันแต่ต้องไม่เหมือนกัน นอกจากนี้หาค่าแฮชจากข้อมูลไม่ควรใช้เวลานาน ควรทำได้อย่างรวดเร็ว และหากข้อมูลผ่านฟังก์ชันแฮชแล้วไม่ควรทำย้อนกลับได้ กระบวนการการแฮชควรมีการกระจายตัวสูง
ประเภทของ Hash function
อัลกอริธึมแฮชมีหลายประเภท เช่น RipeMD, Tiger, xxhash และอื่น ๆ ซึ่งตัวอย่างอัลกอริธึมแฮชที่เป็นที่รู้จักคือ MD5, SHA-256 และ CRC32
- MD5 – เพื่อตรวจสอบความสมบูรณ์ของข้อมูล เป็นหนึ่งในอัลกอริธึมที่ใช้กันอย่างแพร่หลายมากที่สุด
- SHA-256 – สำหรับบล็อกเชนของ Bitcoin ใช้อัลกอริธึมการแฮช SHA-256 (Secure Hash Algorithm)ที่ได้รับการพัฒนาโดย National Security Agency (NSA) ในสหรัฐอเมริกา
- CRC32 – เป็นรหัสตรวจจับข้อผิดพลาดที่มักใช้สำหรับตรวจจับการเปลี่ยนแปลงข้อมูลโดยไม่ได้ตั้งใจ บางครั้ง CRC32 ถูกใช้เป็นอัลกอริธึมแฮชสำหรับการตรวจสอบความสมบูรณ์ของไฟล์