Kalkulator Kod Hash Fowler-Noll-Vo FNV1-64
Diterbitkan: 19 Mac 2025 pada 8:56:35 PTG UTC
Kalkulator kod cincang yang menggunakan fungsi cincang Fowler-Noll-Vo 1 64 bit (FNV1-64) untuk mengira kod cincang berdasarkan input teks atau muat naik fail.Fowler-Noll-Vo FNV1-64 Hash Code Calculator
Fungsi cincang FNV-1 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.
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.
Mengenai Algoritma Hash Fowler-Noll-Vo FNV-1 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 betul secara saintifik dan penuh matematik yang menakutkan, saya pasti anda boleh mencarinya di tempat lain ;-)
Pertama, mari kita fikirkan algoritma FNV-1 seperti resepi untuk membuat smoothie istimewa. Setiap bahan yang anda tambahkan (seperti buah-buahan, susu, atau madu) mewakili sepotong data - seperti huruf, nombor, atau bahkan keseluruhan fail.
Sekarang, matlamatnya adalah untuk mencampurkan bahan-bahan ini dengan cara yang sangat spesifik supaya walaupun sedikit perubahan dalam resepi (seperti menambah satu blueberry lagi) akan menjadikan smoothie tersebut rasa sangat berbeza. Begitulah cara fungsi hash berfungsi - mereka mencipta "rasa" yang unik (atau nilai hash) untuk setiap set bahan yang unik (atau data input).
Cara algoritma FNV-1 melakukan ini adalah melalui proses berbilang langkah:
Langkah 1: Mulakan dengan Asas (Offset Basis)
Fikirkan ini seperti menuang asas smoothie khas ke dalam pengisar anda. Asas ini sentiasa sama, tidak kira apa bahan yang anda tambahkan. Dalam FNV-1, ini dipanggil "offset basis" - hanya nombor permulaan yang istimewa.
Langkah 2: Tambah Bahan Satu Demi Satu (Memproses Data)
Sekarang, anda mula menambah bahan-bahan anda, satu demi satu - katakanlah sebiji strawberi, kemudian pisang, kemudian sedikit madu. Setiap bahan ini mewakili satu bait data.
Langkah 3: Kisar dengan Pendarab Rahsia (FNV Prime)
Setelah menambah setiap bahan, anda menekan butang pengisar, tetapi ada twistnya: pengisar mendarabkan segala-galanya dengan "nombor ajaib" rahsia yang dipanggil FNV prime. Ini membantu mencampurkan semuanya dengan sangat baik.
Langkah 4: Tambah Sedikit Sihir (Operasi XOR)
Sebelum menambah bahan seterusnya, anda taburkan sedikit habuk sihir (ini adalah operasi XOR). Ia seperti menukar rasa dengan cara yang tidak dijangka, memastikan perubahan kecil pun memberi perbezaan yang besar.
Langkah 5: Ulangi Sehingga Selesai
Anda terus mengisar dan taburkan sihir selepas setiap bahan baru sehingga anda telah memproses semuanya.
Langkah 6: Smoothie Akhir (Nilai Hash)
Apabila anda selesai, anda tuangkan smoothie tersebut. Rasa terakhir (nilai hash) adalah unik untuk kombinasi bahan tersebut. Jika anda menambah walaupun satu blueberry lagi, rasanya akan sangat berbeza.
Versi yang dibentangkan di sini adalah versi asal FNV-1 64 bit. Terdapat juga versi FNV-1a 64 bit yang dipertingkatkan: Fowler-Noll-Vo FNV1a-64 Kalkulator Kod Hash