Fowler-Noll-Vo FNV1a-64 Kalkulator Kod Hash
Diterbitkan: 19 Mac 2025 pada 8:56:59 PTG UTC
Kalkulator kod cincang yang menggunakan fungsi cincang Fowler-Noll-Vo 1a 64 bit (FNV1a-64) untuk mengira kod cincang berdasarkan input teks atau muat naik fail.Fowler-Noll-Vo FNV1a-64 Hash Code Calculator
Fungsi cincang FNV-1a 64-bit ialah sebahagian daripada keluarga fungsi cincang Fowler-Noll-Vo (FNV), yang direka untuk pencincangan pantas sambil mengekalkan pengedaran nilai cincang yang baik. Ia biasanya digunakan dalam aplikasi seperti jadual cincang, jumlah semak dan carian data. Ia menghasilkan kod cincang 64 bit (8 bait), selalunya diwakili sebagai nombor perenambelasan 16 digit.
Varian FNV-1a ialah versi yang dipertingkatkan berbanding fungsi asal FNV-1 dengan keselamatan yang lebih baik.
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.
tentang Algoritma Hash Fowler-Noll-Vo FNV-1a 64 bit
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 yang tepat secara saintifik dan matematik yang menakutkan, saya pasti anda boleh menemui itu di tempat lain ;-)
Pertama, mari kita anggap algoritma FNV-1 seperti resepi untuk membuat smoothie istimewa. Setiap bahan yang anda tambahkan (seperti buah-buahan, susu, atau madu) mewakili satu data - seperti huruf, nombor, atau bahkan seluruh fail.
Sekarang, tujuannya adalah untuk mengadun bahan-bahan ini dengan cara yang sangat khusus supaya walaupun perubahan terkecil dalam resepi (seperti menambah satu blueberry tambahan) membuat smoothie itu rasa sangat berbeza. Itulah cara fungsi hash berfungsi - ia mencipta "rasa" (atau nilai hash) yang unik untuk setiap set bahan yang unik (atau data input).
Cara algoritma FNV-1 melakukan ini adalah proses berbilang langkah:
Langkah 1: Mulakan dengan Asas (Offset Basis)
Anggap ini seperti menuangkan asas smoothie khas ke dalam pengisar anda. Asas ini sentiasa sama, tidak kira bahan apa yang anda tambahkan. Dalam FNV-1, ini dipanggil "offset basis" - hanya nombor permulaan yang fancy.
Langkah 2: Tambah Bahan Satu Persatu (Memproses Data)
Sekarang anda mula menambah bahan-bahan anda, satu demi satu - katakanlah strawberi, kemudian pisang, kemudian sedikit madu. Setiap satu daripada ini mewakili satu byte data.
Langkah 3: Kisar dengan Pengganda Rahsia (FNV Prime)
Selepas menambah setiap bahan, anda tekan butang kisar, tetapi inilah kelainannya: pengisar menggandakan semuanya dengan "nombor ajaib" rahsia yang dipanggil FNV prime. Ini membantu mengacaukan segala-galanya dengan sangat baik.
Langkah 4: Tambah Sejuta Keajaiban (Operasi XOR)
Sebelum menambah bahan seterusnya, anda taburkan sedikit habuk ajaib (ini adalah operasi XOR). Ia seperti membalikkan rasa dengan cara yang tidak dijangka, memastikan perubahan kecil pun memberikan perbezaan besar.
Langkah 5: Ulangi Sehingga Selesai
Anda terus mengisar dan menaburkan keajaiban selepas setiap bahan baru sehingga anda selesai memproses semuanya.
Langkah 6: Smoothie Akhir (Nilai Hash)
Apabila anda selesai, anda tuang smoothie tersebut. Rasa akhir (nilai hash) adalah unik untuk gabungan bahan-bahan tersebut. Jika anda menambah satu blueberry tambahan pun, rasanya akan sangat berbeza.
Versi yang dipersembahkan di sini adalah versi FNV-1a 64 bit yang dipertingkatkan. Jika anda memerlukan versi asal, saya juga mempunyai kalkulator untuk itu: Kalkulator Kod Hash Fowler-Noll-Vo FNV1-64