Kalkulator Kode Hash Fowler-Noll-Vo FNV1a-32
Diterbitkan: 18 Februari 2025 pukul 00.09.07 UTC
Kalkulator kode hash yang menggunakan fungsi hash Fowler-Noll-Vo 1a 32 bit (FNV1a-32) untuk menghitung kode hash berdasarkan input teks atau unggahan file.Fowler-Noll-Vo FNV1a-32 Hash Code Calculator
Fungsi hash 32-bit Fowler-Noll-Vo (FNV) merupakan bagian dari keluarga fungsi hash Fowler-Noll-Vo (FNV), yang dirancang untuk hashing cepat dengan tetap mempertahankan distribusi nilai hash yang baik. Fungsi ini biasanya digunakan dalam aplikasi seperti tabel hash, checksum, dan pencarian data. Fungsi ini menghasilkan kode hash 32 bit (4 byte), yang sering direpresentasikan sebagai angka heksadesimal 8 digit.
Varian FNV-1a adalah versi yang ditingkatkan dari fungsi FNV-1 yang asli dengan keamanan yang lebih baik.
Pengungkapan penuh: Saya tidak menulis implementasi spesifik dari fungsi hash yang digunakan pada halaman ini. Ini adalah fungsi standar yang disertakan dengan bahasa pemrograman PHP. Saya hanya membuat antarmuka web untuk membuatnya tersedia untuk umum di sini demi kenyamanan.
Tentang Algoritma Hash 32 bit Fowler-Noll-Vo FNV-1a
Saya bukan seorang ahli matematika, tetapi saya akan mencoba menjelaskan fungsi hash ini menggunakan analogi yang dapat dimengerti oleh rekan-rekan saya yang bukan ahli matematika. Jika Anda lebih suka penjelasan matematika yang benar secara ilmiah dan menakutkan, saya yakin Anda dapat menemukannya di tempat lain ;-)
Pertama, mari kita bayangkan algoritma FNV-1 seperti sebuah resep untuk membuat smoothie yang istimewa. Setiap bahan yang Anda tambahkan (seperti buah-buahan, susu, atau madu) mewakili sebuah data - seperti huruf, angka, atau bahkan seluruh file.
Tujuannya adalah untuk mencampur bahan-bahan ini dengan cara yang sangat spesifik sehingga bahkan perubahan terkecil dalam resep (seperti menambahkan satu buah blueberry ekstra) membuat rasa smoothie benar-benar berbeda. Begitulah cara kerja fungsi hash - fungsi ini menciptakan "rasa" yang unik (atau nilai hash) untuk setiap kumpulan bahan yang unik (atau data masukan).
Cara algoritma FNV-1 melakukan hal ini adalah proses multi-langkah:
Langkah 1: Mulailah dengan Basis (Basis Offset)
Anggap saja seperti menuangkan bahan dasar smoothie khusus ke dalam blender Anda. Basis ini selalu sama, apa pun bahan yang Anda tambahkan. Dalam FNV-1, ini disebut "basis offset" - hanya angka awal yang bagus.
Langkah 2: Tambahkan Bahan Satu per Satu (Mengolah Data)
Sekarang Anda mulai menambahkan bahan-bahan Anda, satu per satu - katakanlah stroberi, lalu pisang, lalu madu. Masing-masing mewakili satu byte data.
Langkah 3: Campurkan dengan Pengali Rahasia (FNV Prime)
Setelah menambahkan setiap bahan, Anda menekan tombol blend, tetapi inilah twist-nya: blender mengalikan semuanya dengan "bilangan ajaib" rahasia yang disebut bilangan prima FNV. Hal ini membantu mencampur semuanya dengan sangat baik.
Langkah 4: Tambahkan Sedikit Keajaiban (Operasi XOR)
Sebelum menambahkan bahan berikutnya, Anda menaburkan sedikit debu ajaib (ini adalah operasi XOR). Ini seperti membalikkan rasa dengan cara yang tidak terduga, memastikan bahkan perubahan kecil pun membuat perbedaan besar.
Langkah 5: Ulangi Sampai Selesai
Anda terus memblender dan menaburkan bubuk ajaib setelah setiap bahan baru hingga Anda memproses semuanya.
Langkah 6: Smoothie Akhir (Nilai Hash)
Setelah selesai, tuangkan smoothie tersebut. Rasa akhir (nilai hash) adalah unik untuk kombinasi bahan-bahan tersebut. Jika Anda menambahkan satu buah blueberry saja, rasanya akan sangat berbeda.
Versi yang disajikan di sini adalah versi FNV-1a 32 bit yang telah ditingkatkan. Jika Anda membutuhkan versi aslinya, saya juga memiliki kalkulator untuk itu: Kalkulator Kode Hash Fowler-Noll-Vo FNV1-32