Memahami Fungsi Hash dan Aplikasinya
Dalam pengkomputeran, fungsi cincang ialah fungsi matematik yang memetakan data input panjang berubah kepada output panjang tetap, yang dikenali sebagai nilai cincang atau ringkasan. Output fungsi cincang adalah unik kepada data input dan sebarang perubahan kecil dalam data input akan menghasilkan output yang jauh berbeza.
Fungsi hash digunakan dalam banyak aplikasi, seperti:
1. Integriti data: Fungsi cincang boleh digunakan untuk mencipta cap jari digital bagi fail atau mesej, yang boleh dihantar bersama-sama data untuk mengesahkan integritinya kemudian. Jika data diubah suai, nilai cincang juga akan berubah, menunjukkan bahawa data telah diganggu.
2. Penyimpanan kata laluan: Fungsi cincang sering digunakan untuk menyimpan kata laluan dengan selamat. Kata laluan dicincang dan nilai cincang yang terhasil disimpan dalam pangkalan data. Apabila pengguna log masuk, kata laluan mereka dicincang semula dan dibandingkan dengan nilai cincang yang disimpan, membenarkan pengesahan selamat tanpa benar-benar menyimpan kata laluan itu sendiri.
3. Pengindeksan data: Jadual cincang menggunakan fungsi cincang untuk mengindeks data dengan cepat dan cekap.
4. Kriptografi: Fungsi cincang digunakan dalam pelbagai aplikasi kriptografi seperti tandatangan digital dan kod pengesahan mesej (MAC).
Sesetengah sifat fungsi cincang termasuk:
1. Determinisme: Output fungsi cincang sentiasa sama untuk data input yang sama.
2. Tidak boleh terbalik: Secara pengiraan tidak boleh dilakukan untuk menentukan data input asal daripada nilai cincang sahaja.
3. Saiz output tetap: Output fungsi cincang sentiasa bersaiz tetap, tanpa mengira panjang data input.
4. Rintangan perlanggaran: Perlanggaran berlaku apabila dua input berbeza menghasilkan output yang sama. Fungsi cincang yang baik direka bentuk untuk meminimumkan kemungkinan perlanggaran.
Beberapa jenis fungsi cincang yang biasa termasuk:
1. SHA (Algoritma Hash Selamat): Keluarga fungsi cincang kriptografi yang menghasilkan output bersaiz tetap.
2. MD5 (Message-Digest Algorithm 5): Fungsi cincang kriptografi yang menghasilkan output bersaiz tetap, tetapi telah terbukti terdedah kepada perlanggaran.
3. CRC (Cyclic Redundancy Check): Fungsi cincang yang digunakan untuk pengesanan ralat dan pembetulan dalam sistem komunikasi digital.
4. ripemd: Satu keluarga fungsi cincang kriptografi yang serupa dengan SHA tetapi mempunyai sifat yang berbeza.
Secara ringkasnya, fungsi cincang ialah fungsi matematik yang mengambil data input panjang berubah-ubah dan menghasilkan output panjang tetap, yang boleh digunakan untuk pelbagai aplikasi seperti integriti data, penyimpanan kata laluan, pengindeksan data dan kriptografi. Fungsi cincang yang baik mempunyai sifat seperti determinisme, bukan keterbalikan, saiz keluaran tetap dan rintangan perlanggaran.