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