Miklix

Kalkulator Kod Hash MurmurHash3F

Diterbitkan: 19 Mac 2025 pada 8:58:22 PTG UTC

Kalkulator kod cincang yang menggunakan fungsi cincang MurmurHash3F untuk mengira kod cincang berdasarkan input teks atau muat naik fail.

Halaman ini telah diterjemahkan mesin daripada bahasa Inggeris untuk menjadikannya boleh diakses oleh seramai mungkin orang. Malangnya, terjemahan mesin belum lagi merupakan teknologi yang sempurna, jadi ralat boleh berlaku. Jika anda mahu, anda boleh melihat versi bahasa Inggeris asal di sini:

MurmurHash3F Hash Code Calculator

MurmurHash3 adalah fungsi hash bukan kriptografi yang direka oleh Austin Appleby pada tahun 2008. Ia digunakan secara meluas untuk hashing tujuan umum kerana kelajuan, kesederhanaan, dan sifat pengedaran yang baik. Fungsi MurmurHash sangat berkesan untuk struktur data berasaskan hash seperti jadual hash, penapis bloom, dan sistem deduplikasi data.

Varian yang dipersembahkan di halaman ini adalah varian 3F, yang dioptimumkan untuk sistem 64 bit. Ia menghasilkan kod hash 128 bit (16 bait), yang biasanya diwakili sebagai nombor heksadesimal 32 digit.

Pendedahan penuh: Saya tidak menulis pelaksanaan khusus fungsi cincang yang digunakan pada halaman ini. Ia adalah fungsi standard yang disertakan dengan bahasa pengaturcaraan PHP. Saya hanya membuat antara muka web untuk menjadikannya tersedia secara umum di sini untuk kemudahan.


Kira Kod Hash Baharu

Data yang diserahkan atau fail yang dimuat naik melalui borang ini hanya akan disimpan pada pelayan selama yang diperlukan untuk menjana kod cincang yang diminta. Ia akan dipadamkan serta-merta sebelum hasilnya dikembalikan ke penyemak imbas anda.

Data input:



Teks yang diserahkan adalah dikodkan UTF-8. Memandangkan fungsi cincang beroperasi pada data binari, hasilnya akan berbeza daripada jika teks berada dalam pengekodan lain. Jika anda perlu mengira cincang teks dalam pengekodan tertentu, anda perlu memuat naik fail sebaliknya.



Tentang Algoritma Hash MurmurHash3F

Saya bukan seorang ahli matematik, tetapi saya akan cuba menjelaskan fungsi hash ini menggunakan analogi yang boleh difahami oleh rakan-rakan saya yang bukan ahli matematik. Jika anda lebih suka penjelasan matematik yang tepat dan saintifik, saya pasti anda boleh mencari itu di tempat lain ;-)

Sekarang, bayangkan anda mempunyai sebuah kotak besar penuh dengan batu LEGO. Setiap kali anda menyusunnya dengan cara tertentu, anda mengambil gambar. Tidak kira betapa besar atau berwarnanya susunan itu, kamera sentiasa memberikan anda gambar kecil dengan saiz tetap. Gambar itu mewakili ciptaan LEGO anda, tetapi dalam bentuk yang padat.

MurmurHash3 melakukan sesuatu yang serupa dengan data. Ia mengambil apa-apa jenis data (teks, nombor, fail) dan mengecilkannya menjadi "jejak jari" atau nilai hash yang kecil dan tetap. Jejak jari ini membantu komputer mengenal pasti, menyusun, dan membandingkan data dengan cepat tanpa perlu melihat keseluruhan data.

Analogi lain adalah seperti membakar kek dan MurmurHash3 adalah resipi untuk mengubah kek itu menjadi kek cawan kecil (hash). Ini adalah proses tiga langkah:

Langkah 1: Potong kepada Kepingan (Memecah Data)

  • Pertama, MurmurHash3 memotong data anda kepada bahagian yang sama, seperti memotong kek kepada petak yang sama besar.

Langkah 2: Gaul dengan Gila (Mencampur Kepingan)

  • Setiap kepingan melalui proses pengadunan yang liar:
    • Terbalik: Seperti membalikkan penkek, ia menyusun semula bit-bit.
    • Kacau: Menambah bahan rawak (operasi matematik) untuk mencampurkan semuanya.
    • Himpit: Menekan data bersama untuk memastikan tiada kepingan asal yang menonjol.

Langkah 3: Ujian Rasa Akhir (Penyelesaian)

  • Selepas mencampurkan semua kepingan, MurmurHash3 memberikan satu gaul akhir untuk memastikan walaupun sedikit perubahan pada data asal akan mengubah sepenuhnya rasa (hash).
Kongsi di BlueskyKongsi di FacebookKongsi di LinkedInKongsi di TumblrKongsi di XKongsi di LinkedInSematkan pada Pinterest

Mikkel Christensen

Mengenai Pengarang

Mikkel Christensen
Mikkel ialah pencipta dan pemilik miklix.com. Beliau mempunyai lebih 20 tahun pengalaman sebagai pengaturcara komputer/pembangun perisian profesional dan kini bekerja sepenuh masa untuk sebuah syarikat IT Eropah yang besar. Apabila tidak menulis blog, dia menghabiskan masa lapangnya dengan pelbagai minat, hobi dan aktiviti, yang mungkin sedikit sebanyak dapat dilihat dalam pelbagai topik yang diliputi di laman web ini.