MurmurHash3 (x64 128-bit) คืออะไร?
MurmurHash3 เป็นอัลกอริทึมแฮชแบบไม่เข้ารหัสที่รวดเร็ว ออกแบบมา สำหรับเช็คซัมที่ทำซ้ำได้และกระจายตัวดี รุ่น x64 128-bit คืนค่า 16 ไบต์ ซึ่งมักแสดงเป็นอักขระฐานสิบหก 32 ตัว จึงเหมาะกว่าแฮช 32-bit เมื่อคุณต้องการตัวระบุที่กว้างขึ้นสำหรับชุดระเบียน ไฟล์ หรือคีย์แคชขนาดใหญ่
เหมาะกับงานเหล่านี้:
- ตารางแฮชและการแบ่งชาร์ด: สร้างคีย์ที่คงที่สำหรับบัคเก็ต พาร์ทิชัน หรือตารางค้นหา
- การลบข้อมูลซ้ำ: เปรียบเทียบชุดข้อความหรือไฟล์ขนาดใหญ่ด้วยลายนิ้วมือ 128-bit แบบกะทัดรัดก่อนตรวจสอบเชิงลึก
- คีย์แคช: สร้างตัวระบุที่กำหนดได้สำหรับอาร์ติแฟกต์จากการบิลด์ ข้อมูลที่แปลงแล้ว หรือเนื้อหาที่สร้างขึ้น
- การตรวจสอบความสมบูรณ์ที่ไม่ใช่งานความปลอดภัย: ตรวจจับการเปลี่ยนแปลงโดยไม่ตั้งใจระหว่างการจัดเก็บหรือถ่ายโอน เมื่อไม่จำเป็นต้องมีการรับประกันแบบเข้ารหัส
พฤติกรรมของ seed:
ค่า seed ที่ไม่บังคับเป็นค่า unsigned 32-bit ใช้ seed เดียวกันเมื่อคุณต้องการ
ให้ผลลัพธ์ตรงกับระบบอื่น และปล่อยไว้ที่ 0 เมื่อไม่มีข้อกำหนดด้านความเข้ากันได้
เฉพาะเจาะจง รองรับค่าฐานสิบและค่าฐานสิบหกแบบ 0x ส่วนค่าที่ใหญ่กว่านั้น
จะวนกลับเข้าสู่ช่วง 32-bit เดียวกับที่อัลกอริทึมใช้
ข้อควรระวังด้านความปลอดภัย:
MurmurHash3 ไม่ใช่อัลกอริทึมสำหรับแฮชรหัสผ่าน การลงนาม หรือการตรวจสอบแบบป้องกันการแก้ไข ใช้ SHA-256, HMAC หรือเครื่องมือแฮชรหัสผ่านเมื่อเอาต์พุตต้องมีคุณสมบัติด้านความปลอดภัย เครื่องมือนี้เหมาะที่สุดสำหรับการแฮชในเครื่องแบบออฟไลน์ที่เน้นประสิทธิภาพ ซึ่งความเร็วและการกระจายตัวที่เสถียรสำคัญกว่าการต้านทานการโจมตี