Miklix

Fowler-Noll-Vo FNV1a-32 Kalkulator Kod Hash

Diterbitkan: 19 Mac 2025 pada 8:57:17 PTG UTC

Kalkulator kod cincang yang menggunakan fungsi cincang Fowler-Noll-Vo 1a 32 bit (FNV1a-32) 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:

Fowler-Noll-Vo FNV1a-32 Hash Code Calculator

Fungsi cincang FNV-1a 32-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 32 bit (4 bait), selalunya diwakili sebagai nombor heksadesimal 8 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.


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 Fowler-Noll-Vo FNV-1a 32 bit

Saya bukan seorang ahli matematik, tetapi saya akan cuba menerangkan fungsi hash ini dengan menggunakan analogi yang boleh difahami oleh rakan-rakan saya yang bukan ahli matematik. Jika anda lebih suka penjelasan yang betul dari segi saintifik dan menakutkan dalam matematik, saya pasti anda boleh menemui penjelasan itu di tempat lain ;-)

Pertama, mari kita anggap algoritma FNV-1 seperti resipi untuk membuat smoothie khas. Setiap bahan yang anda tambahkan (seperti buah-buahan, susu, atau madu) mewakili sepotong data - seperti huruf, nombor, atau bahkan seluruh fail.

Sekarang, tujuannya adalah untuk mencampurkan bahan-bahan ini dengan cara yang sangat khusus supaya walaupun perubahan terkecil dalam resipi (seperti menambah satu lagi blueberry) membuat smoothie itu rasa sangat berbeza. Itulah cara fungsi hash berfungsi - mereka mencipta "perisa" 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)

Anggap ini seperti menuangkan 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 Persatu (Memproses Data)

Sekarang anda mula menambah bahan-bahan anda, satu demi satu - katakanlah strawberi, kemudian pisang, kemudian sedikit madu. Setiap satu daripada bahan ini mewakili satu bait data.

Langkah 3: Kisar dengan Pendarab Rahsia (FNV Prime)

Setelah menambah setiap bahan, anda tekan butang kisar, tetapi ada satu perkara yang berbeza: pengisar mendarabkan semua bahan dengan nombor "ajaib" rahsia yang dipanggil FNV prime. Ini membantu mencampurkan semuanya dengan baik.

Langkah 4: Tambah Sedikit Keajaiban (Operasi XOR)

Sebelum menambah bahan seterusnya, anda taburkan sedikit habuk keajaiban (ini adalah operasi XOR). Ia seperti menukar perisa dengan cara yang tidak dijangka, memastikan bahawa perubahan kecil pun memberi 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 tuangkan smoothie itu. Rasa akhir (nilai hash) adalah unik untuk gabungan bahan-bahan tersebut. Jika anda menambah satu blueberry lagi, rasanya akan sangat berbeza.

Versi yang dipersembahkan di sini adalah versi FNV-1a 32 bit yang dipertingkatkan. Jika anda memerlukan versi asal, saya juga mempunyai kalkulator untuk itu: Kalkulator Kod Hash Fowler-Noll-Vo FNV1-32

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.