Skip to main content

แฮชคืออะไร?

แฮชเป็นสูตรทางคณิตศาสตร์ที่ใช้สตริงของข้อมูลที่มีความยาวตัวแปรโดยปกติจะอยู่ในรูปแบบของข้อความและแปลงเป็นค่าตัวเลขที่สั้นกว่าและมีความยาวคงที่แฮชถูกใช้บ่อยในฐานข้อมูลคอมพิวเตอร์เพื่อให้การค้นหาเร็วขึ้นและมีประสิทธิภาพมากขึ้นพวกเขายังใช้ในการเข้ารหัสเพื่อให้แน่ใจว่ารหัสผ่านจะไม่ถูกบุกรุกและเพื่อตรวจสอบลายเซ็นดิจิตอลในระหว่างการใช้งานอื่น ๆแฮชยังไปตามชื่อฟังก์ชั่นแฮชและยังสามารถพิจารณาอัลกอริทึม

แฮชมีบทบาทสำคัญในการอำนวยความสะดวกในการค้นหาฐานข้อมูลในฐานข้อมูลที่ประกอบด้วยชื่อตัวอย่างเช่นหากผู้ใช้ค้นหา“ John Doe” คอมพิวเตอร์จะต้องจับคู่อักขระทั้งหมดในการค้นหากับรายการฐานข้อมูลทุกรายการตัวละครทุกตัวในชื่อจะมี 26 ความเป็นไปได้ที่แตกต่างกัน mdash;ตัวอักษรของตัวอักษรภาษาอังกฤษ mdash;ในขณะที่ความยาวตัวแปรของรายการจะทำให้การค้นหาช้าลง

ในทางตรงกันข้ามการใช้ฟังก์ชั่นแฮชจะทำให้ชีวิตของคอมพิวเตอร์ง่ายขึ้นมากการเปลี่ยนสตริงข้อความแต่ละรายการเป็นชุดตัวเลขจะทำให้การค้นหาง่ายขึ้นเนื่องจากคอมพิวเตอร์จะมีความเป็นไปได้สิบประการเท่านั้นที่จะตรวจสอบตัวละครแต่ละตัว: ตัวเลข“ 0” เป็น“ 9”ความยาวคงที่ของซีรี่ส์ตัวเลขยังช่วยให้คอมพิวเตอร์ทำงานได้อย่างมีประสิทธิภาพมากขึ้น

ในฐานข้อมูลที่ใช้ฟังก์ชั่นแฮชรายการทั้งหมดมีหมายเลขที่ไม่ซ้ำกันสิ่งนี้เรียกว่าคีย์แฮชในกรณีนี้เมื่อคุณทำการค้นหาคอมพิวเตอร์จะใช้ฟังก์ชันแฮชกับอินพุตที่คุณเขียนเช่น "John Doe" ก่อนสิ่งนี้ส่งผลให้ค่าตัวเลขเช่น“ 456789”คอมพิวเตอร์สามารถจับคู่ผลลัพธ์นี้กับคีย์แฮชที่สอดคล้องกับรายการที่ถูกต้องได้อย่างรวดเร็ว

แฮชยังทำหน้าที่เป็นลายเซ็นดิจิตอลตัวอย่างเช่นผู้ส่งโรเบิร์ตต้องการส่งเอกสารให้กับใครบางคนและผู้รับแมรี่ต้องการให้แน่ใจว่าเอกสารไม่ได้ถูกดัดแปลงในขณะที่ระหว่างทางผู้ส่งโรเบิร์ตจะต้องเรียกใช้เอกสารผ่านฟังก์ชั่นแฮชซึ่งส่งผลให้ค่าตัวเลขจากนั้นโรเบิร์ตเข้ารหัสคีย์แฮชและส่งเอกสารพร้อมกับคีย์ที่เข้ารหัส

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

ฟังก์ชั่นแฮชที่แตกต่างกันมากมายแต่ละตัวมีสูตรทางคณิตศาสตร์ของตัวเองสำหรับฟังก์ชั่นแฮชในการทำงานจะต้องลดการชนใด ๆ ซึ่งเกิดขึ้นเมื่อรายการฐานข้อมูลสองรายการมีคีย์แฮชเดียวกันฟังก์ชั่นแฮชจะต้องเป็นทางเดียวนั่นหมายความว่าคุณสามารถสร้างคีย์จากรายการฐานข้อมูลหรือเอกสาร แต่ไม่ใช่วิธีอื่น ๆกล่าวอีกนัยหนึ่งคุณไม่สามารถ“ ย้อนกลับเครื่องมือ” เอกสารต้นฉบับจากคีย์แฮชได้