ผลต่างระหว่างรุ่นของ "ฟังก์ชันแฮช"

จากวิกิพีเดีย สารานุกรมเสรี
เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
Nullzerobot (คุย | ส่วนร่วม)
โรบอต: เปลี่ยนจาก หมวดหมู่:การตรวจหาและแก้ไขความผิดพลาด ไปยัง หมวดหมู่:การตรวจหาและแก้คว...
Nullzerobot (คุย | ส่วนร่วม)
ลบลิงก์ที่ซ้ำซ้อน wikidata
บรรทัด 26: บรรทัด 26:
[[หมวดหมู่:ขั้นตอนวิธีการค้นหา]]
[[หมวดหมู่:ขั้นตอนวิธีการค้นหา]]
[[หมวดหมู่:การตรวจหาและแก้ความผิดพลาด]]
[[หมวดหมู่:การตรวจหาและแก้ความผิดพลาด]]

[[ar:دالة هاش]]
[[bg:Хеш-функция]]
[[ca:Funció resum]]
[[cs:Hašovací funkce]]
[[da:Hashfunktion]]
[[de:Hashfunktion]]
[[el:Συνάρτηση κατατεμαχισμού]]
[[en:Hash function]]
[[es:Función hash]]
[[et:Räsifunktsioon]]
[[eu:Hashing]]
[[fa:تابع درهم‌سازی]]
[[fi:Hajautusalgoritmi]]
[[fr:Fonction de hachage]]
[[he:פונקציית גיבוב]]
[[hu:Hasító függvény]]
[[hy:Հեշ ֆունկցիա]]
[[is:Tætifall]]
[[it:Hash]]
[[ja:ハッシュ関数]]
[[ka:ჰეშირების ფუნქცია]]
[[kk:Араластыру]]
[[ko:해시 함수]]
[[lt:Maišos funkcija]]
[[lv:Jaucējfunkcija]]
[[mk:Хеширање]]
[[nl:Hashfunctie]]
[[pl:Funkcja skrótu]]
[[pt:Hash]]
[[ro:Funcție hash]]
[[ru:Хеширование]]
[[simple:Hash function]]
[[sk:Hašovacia funkcia]]
[[sl:Sekljalna funkcija]]
[[sv:Hashfunktion]]
[[uk:Хеш-функція]]
[[vi:Hàm băm]]
[[zh:散列函數]]
[[zh-min-nan:Lām-cha̍p koan-sò͘]]

รุ่นแก้ไขเมื่อ 20:07, 9 มีนาคม 2556

ฟังก์ชันแฮชจับข้อความไปเป็นตัวเลขตั้งแต่ 0 ถึง 15 มีการชนกันของข้อความ "John Smith" และ "Sandra Dee" ที่ช่อง 02

ฟังก์ชันแฮช (อังกฤษ: hash function) คือวิธีการอย่างหนึ่งซึ่งทำให้ข้อมูลส่วนหนึ่งหรือทั้งหมด ให้กลายเป็นจำนวนเล็กๆ อันหนึ่งอย่างมีปฏิสัมพันธ์ ซึ่งจำนวนดังกล่าวเปรียบได้ว่าเป็น "ลายนิ้วมือ" ของข้อมูล ขั้นตอนวิธีของฟังก์ชันแฮชส่วนใหญ่จะเป็นการแบ่งย่อยข้อมูลและการผสมข้อมูลย่อยทั้งหมดเข้าด้วยกันเพื่อให้ได้ผลลัพธ์สุดท้าย ผลลัพธ์ดังกล่าวอาจเรียกว่า ผลบวกแฮช (hash sum) ค่าแฮช (hash value) รหัสแฮช (hash code) หรือเรียกว่า แฮช (hash) เฉยๆ ก็ได้ บ่อยครั้งที่การเอ่ยถึงแฮชจะหมายถึงฟังก์ชันแฮชโดยปริยาย ปกติแล้วฟังก์ชันแฮชจะทำงานผ่านดัชนีที่เก็บไว้ในตารางแฮชที่อยู่ในหน่วยความจำหรือแฟ้มข้อมูลชั่วคราว

คุณสมบัติของฟังก์ชันแฮช

  • ควรมีความจำเพาะแต่ละข้อมูล ข้อมูลแต่ละตัวควรผ่านฟังก์ชันแฮชแล้วมีค่าไม่เท่ากัน เพื่อให้ข้อมูล

แต่ละตัว มีผลการแฮชเฉพาะตัว หรือเป็นลายนิ้วมือของข้อมูล โดยเฉพาะการใช้กับการตรวจสอบข้อมูล

  • หาง่าย ใช้เวลาน้อย
  • ควรกระจายในช่วงที่กำหนด เช่นถ้าต้องการแฮชได้เลขห้าหลัก ผลของการแฮชก็ควรจะกระจายกันตั้งแต่ 00000-99999 โดยเฉพาะการใช้กับตารางแฮช
  • ควรจะไม่คงผลลัพธ์ของลำดับเดิม หรือแก้กลับได้ง่าย เช่น ถ้าคีย์เป็น 12345 ไม่ควรให้กลับเป็น

54321 เป็นผลแฮช เพราะจะทำกลับได้ง่ายโดยเฉพาะการแฮชสำหรับการเข้ารหัส

การประยุกต์ใช้ฟังก์ชันแฮช

ฟังก์ชันแฮชเข้ารหัส

ฟังก์ชันแฮชเข้ารหัส (cryptographic hash function) คือฟังก์ชันแฮชที่ใช้เพื่อจุดประสงค์ในด้านความปลอดภัยของสารสนเทศ อาทิการยืนยันตนเพื่อเข้าสู่ระบบ (authentication) หรือการตรวจสอบความถูกต้องสมบูรณ์ของเนื้อหาข้อมูล อาทิ SHA-1, MD5 หรือ CRC32 เป็นต้น

ดูเพิ่ม