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

เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
Almabot (คุย | ส่วนร่วม)
โรบอต เพิ่ม: bg:Хеш-функция
บรรทัด 1:
{{ขาดอ้างอิง}}
{{รอการตรวจสอบ}}
[[ภาพไฟล์:Hash_function.svg|thumb|300px|right|ตัวอย่างการทำงานของฟังก์ชันแฮช]]
'''ฟังก์ชันแฮช''' ({{lang-en|hash function}}) คือวิธีการอย่างหนึ่งซึ่งทำให้[[ข้อมูล]]ส่วนหนึ่งหรือทั้งหมด ให้กลายเป็นจำนวนเล็กๆ อันหนึ่งอย่างมีปฏิสัมพันธ์ ซึ่งจำนวนดังกล่าวเปรียบได้ว่าเป็น "ลายนิ้วมือ" ของข้อมูล [[ขั้นตอนวิธี]]ของฟังก์ชันแฮชส่วนใหญ่จะเป็นการแบ่งย่อยข้อมูลและการผสมข้อมูลย่อยทั้งหมดเข้าด้วยกันเพื่อให้ได้ผลลัพธ์สุดท้าย ผลลัพธ์ดังกล่าวอาจเรียกว่า '''ผลบวกแฮช''' (hash sum) '''ค่าแฮช''' (hash value) '''รหัสแฮช''' (hash code) หรือเรียกว่า '''แฮช''' (hash) เฉยๆ ก็ได้ บ่อยครั้งที่การเอ่ยถึงแฮชจะหมายถึงฟังก์ชันแฮชโดยปริยาย ปกติแล้วฟังก์ชันแฮชจะทำงานผ่านดัชนีที่เก็บไว้ใน[[ตารางแฮช]]ที่อยู่ใน[[หน่วยความจำ]]หรือ[[แฟ้มข้อมูล]]ชั่วคราว
 
== คุณสมบัติของฟังก์ชันแฮช ==
* ควรมีความจำเพาะแต่ละข้อมูล ข้อมูลแต่ละตัวควรผ่านฟังก์ชันแฮชแล้วมีค่าไม่เท่ากัน เพื่อให้ข้อมูล
แต่ละตัว มีผลการแฮชเฉพาะตัว หรือเป็นลายนิ้วมือของข้อมูล โดยเฉพาะการใช้กับการตรวจสอบข้อมูล
* หาง่าย ใช้เวลาน้อย
* ควรกระจายในช่วงที่กำหนด เช่นถ้าต้องการแฮชได้เลขห้าหลัก ผลของการแฮชก็ควรจะกระจายกันตั้งแต่ 00000-99999 โดยเฉพาะการใช้กับ[[ตารางแฮช]]
* ควรจะไม่คงผลลัพธ์ของลำดับเดิม หรือแก้กลับได้ง่าย เช่น ถ้าคีย์เป็น 12345 ไม่ควรให้กลับเป็น
54321 เป็นผลแฮช เพราะจะทำกลับได้ง่ายโดยเฉพาะการแฮชสำหรับการเข้ารหัส
 
== การประยุกต์ใช้ฟังก์ชันแฮช ==
* ใช้การเก็บข้อมูลใน[[ตารางแฮช]] ที่อยู่ใน[[หน่วยความจำ]]หรือ[[แฟ้มข้อมูล]]ชั่วคราว
* ใช้ในการตรวจสอบข้อมูลอย่างรวดเร็ว
* ใช้ในการเข้ารหัสข้อมูล
 
== ฟังก์ชันแฮชเข้ารหัส ==