Score:0

มองหาฟังก์ชันแฮช (ไม่จำเป็นต้องเข้ารหัส) โดยที่อินพุตที่คล้ายกันส่งคืนเอาต์พุตที่ต่างกัน

ธง in

ฉันจำเป็นต้องใช้สตริงและส่งคืนสี ข้อกำหนดอย่างหนึ่งคือชื่อเดียวกันจะส่งกลับสีเดียวกันเสมอ อีกประการหนึ่งคือชื่อที่คล้ายกันไม่ควรส่งคืนสีที่คล้ายกัน

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

ใครบ้างมีคำแนะนำเกี่ยวกับวิธีเขียนฟังก์ชันด้วยคุณสมบัตินี้? มีฟังก์ชันการเข้ารหัสที่ฉันสามารถใช้ได้หรือไม่ ขอขอบคุณ.

kr flag
MD5 (แม้ว่าจะไม่แนะนำให้ใช้ i เพื่อวัตถุประสงค์ในการเข้ารหัส แต่ก็เหมาะสมกับความต้องการของคุณ), SHA-256, SHA-512, BLAKE2, Whirlpool - ข้อกำหนดทั้งหมดของชุดที่คุณได้อธิบายไว้
solowt avatar
in flag
เยี่ยมมาก ขอบคุณ คุณรู้หรือไม่ว่ามีฟังก์ชันแฮชที่ไม่ใช่การเข้ารหัสที่มีคุณสมบัติที่ฉันต้องการหรือไม่
Mark avatar
ng flag
@solowt มี แต่ก็ไม่ชัดเจนว่าจะใช้ง่ายกว่านี้หรือไม่ มีแนวคิดที่เกี่ยวข้องอย่างน้อยสองแนวคิด: หนึ่งคือ "แผนที่วุ่นวาย" --- การเปลี่ยนแปลงเล็กน้อยในอินพุตนำไปสู่การเปลี่ยนแปลงขนาดใหญ่ในเอาต์พุต อีกวิธีหนึ่งคือการเดินแบบสุ่มที่ "ผสมอย่างรวดเร็ว" เช่น (เช่นแฮชเข้ารหัส) เราสามารถคาดหวังผลลัพธ์หลังจากการวนซ้ำสองสามครั้งจะดูเหมือนกัน เหตุผลเดียวที่ฉันจะไม่ใช้ฟังก์ชันแฮชก็คือ ถ้าฉันมีการใช้งานที่ใช้งานได้อยู่แล้ว และสังเกตว่าการเรียกใช้ฟังก์ชันแฮชจำเป็นต้องได้รับการปรับให้เหมาะสม ฟังก์ชันแฮชการเข้ารหัสนั้นรวดเร็วอย่างน่าประหลาดใจ
Mark avatar
ng flag
นอกจากนี้ยังควรกล่าวถึงด้วยว่าฉันไม่รู้เพียงพอเกี่ยวกับแนวคิด "นอกชั้นวาง" ของแนวคิดทั้งสองที่ฉันอธิบายไว้ แน่นอนว่ามีหลายฟังก์ชั่นแฮช
kr flag
@solowt: MD5 ไม่ปลอดภัยด้วยการเข้ารหัสมันถูกออกแบบมาเพื่อวัตถุประสงค์ในการเข้ารหัส แต่มีความต้านทานการชนกันที่อ่อนแอและไม่ได้ใช้ในกรณีที่ใช้การเข้ารหัสที่ร้ายแรงใดๆ
jthill avatar
cn flag
เพียงแค่ crc32 ทำสิ่งที่คุณต้องการได้ค่อนข้างดี
solowt avatar
in flag
ขอบคุณทุกคน ฉันจะตรวจสอบ crc32 และ md5 ขอบคุณความช่วยเหลือ
kelalaka avatar
in flag
ฉันลงคะแนนให้ปิดคำถามนี้เนื่องจากไม่เกี่ยวกับฟังก์ชันแฮชการเข้ารหัส เหมาะกับ CS มากกว่า
solowt avatar
in flag
ขอบคุณสำหรับความช่วยเหลือของคุณ KELALAKA ขอบคุณ ทำผลงานให้ดีต่อไป

โพสต์คำตอบ

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