เครื่องคำนวณรหัสแฮช MurmurHash3F
ที่ตีพิมพ์: 18 กุมภาพันธ์ 2025 เวลา 0 นาฬิกา 28 นาที 55 วินาที UTC
ปรับปรุงล่าสุด : 12 มกราคม 2026 เวลา 13 นาฬิกา 31 นาที 30 วินาที UTC
MurmurHash3F Hash Code Calculator
MurmurHash3 เป็นฟังก์ชันแฮชที่ไม่เกี่ยวข้องกับการเข้ารหัสลับ ออกแบบโดย Austin Appleby ในปี 2008 มีการใช้งานอย่างแพร่หลายสำหรับการแฮชทั่วไป เนื่องจากมีความเร็ว ความเรียบง่าย และคุณสมบัติการกระจายที่ดี ฟังก์ชัน MurmurHash มีประสิทธิภาพเป็นพิเศษสำหรับโครงสร้างข้อมูลแบบแฮช เช่น ตารางแฮช ตัวกรอง Bloom และระบบการกำจัดข้อมูลซ้ำซ้อน
รูปแบบที่แสดงในหน้านี้คือรูปแบบ 3F ซึ่งได้รับการปรับให้เหมาะสมสำหรับระบบ 64 บิต โดยจะสร้างรหัสแฮชขนาด 128 บิต (16 ไบต์) ซึ่งโดยทั่วไปจะแสดงเป็นเลขฐานสิบหก 32 หลัก
การเปิดเผยข้อมูลทั้งหมด: ฉันไม่ได้เขียนรายละเอียดการใช้งานฟังก์ชันแฮชที่ใช้ในหน้านี้โดยเฉพาะ ฟังก์ชันนี้เป็นฟังก์ชันมาตรฐานที่รวมอยู่ในภาษาการเขียนโปรแกรม PHP ฉันสร้างอินเทอร์เฟซเว็บเพื่อให้เผยแพร่ต่อสาธารณะเพื่อความสะดวกเท่านั้น
เกี่ยวกับอัลกอริทึมแฮช MurmurHash3F
ผมไม่ใช่ผู้เชี่ยวชาญด้านคณิตศาสตร์ แต่ผมจะพยายามอธิบายฟังก์ชันแฮชนี้โดยใช้การเปรียบเทียบที่คนทั่วไปที่ไม่ใช่ผู้เชี่ยวชาญด้านคณิตศาสตร์เข้าใจได้ ถ้าคุณต้องการคำอธิบายที่ถูกต้องตามหลักวิทยาศาสตร์และใช้คณิตศาสตร์อย่างเต็มรูปแบบ ผมเชื่อว่าคุณคงหาได้จากที่อื่น ;-)
ทีนี้ ลองนึกภาพว่าคุณมีกล่องเลโก้ขนาดใหญ่ ทุกครั้งที่คุณจัดเรียงเลโก้ในรูปแบบใดรูปแบบหนึ่ง คุณก็จะถ่ายรูป ไม่ว่าการจัดเรียงนั้นจะใหญ่โตหรือมีสีสันสวยงามแค่ไหน กล้องก็จะถ่ายภาพออกมาในขนาดเล็กคงที่เสมอ ภาพนั้นจะแสดงถึงผลงานเลโก้ที่คุณสร้างขึ้น แต่ในรูปแบบที่กะทัดรัด
MurmurHash3 ทำงานคล้ายกันกับข้อมูล โดยจะแปลงข้อมูลทุกประเภท (ข้อความ ตัวเลข ไฟล์) ให้เหลือเพียง "ลายนิ้วมือ" หรือค่าแฮชขนาดเล็กและคงที่ ลายนิ้วมือนี้ช่วยให้คอมพิวเตอร์สามารถระบุ จัดเรียง และเปรียบเทียบข้อมูลได้อย่างรวดเร็วโดยไม่ต้องดูข้อมูลทั้งหมด
อีกตัวอย่างเปรียบเทียบก็เหมือนกับการอบเค้ก และ MurmurHash3 ก็คือสูตรที่จะเปลี่ยนเค้กนั้นให้กลายเป็นคัพเค้กชิ้นเล็กๆ (แฮช) ซึ่งจะเป็นกระบวนการสามขั้นตอน:
ขั้นตอนที่ 1: หั่นเป็นชิ้นเล็กๆ (การแบ่งข้อมูล)
- ขั้นแรก MurmurHash3 จะแบ่งข้อมูลของคุณออกเป็นส่วนๆ เท่าๆ กัน เหมือนกับการหั่นเค้กเป็นชิ้นสี่เหลี่ยมเท่าๆ กัน
ขั้นตอนที่ 2: ผสมให้เข้ากันอย่างทั่วถึง (การผสมชิ้นส่วนต่างๆ)
- แต่ละส่วนจะผ่านกระบวนการผสมผสานสุดขั้ว: การพลิก: เหมือนกับการพลิกแพนเค้ก มันจะจัดเรียงส่วนต่างๆ ใหม่ การคน: เพิ่มส่วนผสมแบบสุ่ม (การดำเนินการทางคณิตศาสตร์) เพื่อผสมสิ่งต่างๆ เข้าด้วยกัน การบีบอัด: กดข้อมูลเข้าด้วยกันเพื่อให้แน่ใจว่าไม่มีส่วนใดส่วนหนึ่งที่โดดเด่นออกมา
ขั้นตอนที่ 3: การทดสอบรสชาติครั้งสุดท้าย (การสรุปผล)
- หลังจากผสมส่วนผสมทั้งหมดเข้าด้วยกันแล้ว MurmurHash3 จะคนอีกครั้งเป็นครั้งสุดท้ายเพื่อให้แน่ใจว่าแม้การเปลี่ยนแปลงเพียงเล็กน้อยในข้อมูลดั้งเดิมก็จะเปลี่ยนรสชาติ (ของแฮช) ไปโดยสิ้นเชิง
อ่านเพิ่มเติม
หากคุณชอบโพสต์นี้ คุณอาจชอบคำแนะนำเหล่านี้ด้วย:
