สิ่งที่คุณกำลังทำอยู่ไม่ใช่ "การเข้ารหัส" ตามลำดับ มันคือ "hashing" แตกต่างที่สำคัญระหว่างทั้งสองก็คือว่าการเข้ารหัสเป็นแบบพลิกกลับได้อย่างง่ายดาย (กับคีย์ที่ถูกต้องแน่นอน) ในขณะที่คร่ำเครียดถูกออกแบบมาให้เป็นเรื่องยากมากที่จะย้อนกลับในกรณีอื่น ๆ กว่ารู้ข้อความต้นฉบับในสถานที่แรก ๆ
ในทางทฤษฎีแฮชจำลองเป็น "Random oracle" ซึ่งเป็น homunculus สมมุติฐานที่มีหน่วยความจำแบบ eidetic และวิธีการสร้างเอกลักษณ์ที่ไม่ซ้ำใครอย่างสมบูรณ์แบบโดยไม่ จำกัด ช่วงบน คุณจะให้ข้อความเล็ก ๆ แก่ชายคนนี้และหนึ่งในสองสิ่งจะเกิดขึ้น ไม่ว่าเขาจะไม่เคยเห็นข้อความมาก่อนซึ่งในกรณีนี้เขาสร้างหมายเลขสุ่มใหม่และมอบสิ่งนั้นให้กับคุณในฐานะผู้สรุปหรือเขาเคยเห็นความยุ่งเหยิงนั้นมาก่อนดังนั้นเขาจึงจำและให้หมายเลขที่เขาสร้างขึ้นเมื่อเขาเห็น ครั้งแรก. ในแบบจำลองเชิงทฤษฎีนั้นไม่มีความสัมพันธ์ระหว่างข้อความกับข้อมูลย่อยและไม่มีหมายเลขเดียวที่เคยปรากฏสองครั้งจาก RNG ไม่มีความเป็นไปได้สำหรับการชน
น่าเสียดายที่เราไม่มีออราเคิลแบบสุ่มในอุดมคติ แนวคิดมีความเป็นไปไม่ได้ในทางปฏิบัติสำหรับการนำไปใช้ในระบบดิจิทัลเช่นความสามารถของ oracle ในการจัดเก็บและเรียกคืนข้อความทุกข้อความที่ทุกคนเคยแฮ็กอย่างมีประสิทธิภาพและมีประสิทธิภาพความสามารถของลูกค้าในการยอมรับตัวเลขที่อาจ ความยาว แต่เรามีฟังก์ชันแฮชซึ่งเป็นการดำเนินการทางคณิตศาสตร์แบบย้อนกลับ (ทางเดียว) ที่ทำงานกับข้อความนั้นเพื่อสร้างการเปลี่ยนแปลงที่กำหนดขึ้น (ข้อความเดียวกัน => แฮชเดียวกัน) โดยไม่มีความชัดเจนความสัมพันธ์ระหว่างแฮชและข้อความต้นฉบับ ดังที่ได้กล่าวไว้ในความคิดเห็นไม่ควรมีการเปลี่ยนแปลงที่คาดเดาได้สำหรับค่าแฮชที่เกิดจากการเปลี่ยนแปลงข้อความอย่างเป็นระบบ โดยปกติแล้วการแยกย่อยแต่ละบิตจะมีโอกาส 50% ในการเปลี่ยนแปลงเนื่องจากการเปลี่ยนแปลงข้อความเพียงเล็กน้อย
มีประโยชน์หลายอย่างสำหรับฟังก์ชั่นแฮช พวกเขาจะใช้สำหรับการตรวจสอบความท้าทาย (คิดว่าข้อมูลประจำตัวในการเข้าสู่ระบบเช่นรหัสผ่าน) โดยไม่จำเป็นต้องให้ทั้งสองฝ่ายรู้ถึงความลับของข้อความล้วนและพวกเขาจะใช้เป็น checksums เพื่อตรวจสอบว่าข้อความนั้น พวกเขายังใช้ในสถานการณ์ที่เรียกว่า "หลักฐานการทำงาน" งานการคำนวณที่ยากต่อการตรวจสอบ แต่ง่ายต่อการตรวจสอบ
หากคุณเคยพบวิธีที่จะย้อนแฮชย่อย SHA256 ได้อย่างมีประสิทธิภาพเพื่อสร้างข้อความ (ข้อความใด ๆ ) ที่จะส่งผลให้แฮชนั้นเป็นข้อพิสูจน์โดยการสาธิตว่าจริงๆแล้วแฮชนั้นเสียขั้นพื้นฐาน ในความเป็นจริงแล้ว SHA256 เชื่อว่าปลอดภัยซึ่งหมายความว่าไม่มีวิธีการจัดทำเป็นเอกสารไม่ว่าจะใช้งานจริงได้อย่างไรเริ่มต้นด้วยแฮชย่อยและสร้างข้อความชนที่ต้องใช้งานน้อยกว่าการพยายามทุกอย่างที่เป็นไปได้ (สำหรับ SHA-256 ^ 256 ~ = 10 ^ 77 ความเป็นไปได้)