Hash คืออะไร

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

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

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

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

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

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

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