Fungsi Hashing dalam Java dicipta sebagai penyelesaian untuk mentakrif & mengembalikan nilai objek dalam bentuk integer, dan nilai pulangan ini yang diperoleh sebagai output daripada fungsi hashing dipanggil sebagai nilai Hash. Setiap fungsi Hashing mengembalikan integer 4 bait sebagai nilai pulangan untuk objek. Mana-mana dua objek daripada jenis yang sama akan mempunyai nilai integer yang sama seperti output fungsi Hashing, dan begitu juga, objek yang berbeza akan mempunyai nilai cincang yang berbeza. Seseorang tidak boleh memperoleh objek daripada nilai cincang, dan ini menjadikan fungsi pencincangan fungsi yang tidak boleh diubah.
Apakah Fungsi Hashing?
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Fungsi Hash boleh ditakrifkan sebagai fungsi yang mengembalikan nilai integer yang sepadan dengan Objek. Fungsi Hash sentiasa mengembalikan nilai integer yang sama untuk objek yang sama. Nilai integer yang dikembalikan oleh fungsi hash dipanggil Nilai Hash. Berikut ialah perkara penting mengenai fungsi Hash:
Berikut ialah aplikasi biasa bagi fungsi cincang:
Hampir setiap bahasa pengaturcaraan mengandungi struktur data berasaskan cincang. Sebagai contoh, java mengandungi struktur data Hash, Peta Hash, Set Hash, Set Pokok yang berdasarkan fungsi Hash. Struktur data ini ialah reka bentuk Nilai Kunci, di mana setiap kunci adalah unik, manakala nilai yang sama boleh wujud untuk berbilang kunci.
Algoritma ini digunakan dalam semakan integriti data. Algoritma ini mengambil mesej dari sebarang panjang sebagai input dan menghasilkan data panjang tetap (128-bit) sebagai output. Contoh algoritma ringkasan mesej termasuk MD2, MD4, MD5 dan MD6.
Algoritma ini digunakan untuk keselamatan data dan digunakan dalam aplikasi serta protokol seperti Secure Socket Layer (SSL). SHA-0, SHA-1, SHA-2 dan SHA-3 adalah kategori biasa bagi Algoritma Hash Selamat.
Mari kita pertimbangkan senario log masuk di mana apabila kata laluan dimasukkan untuk mengesahkan pengguna, nilai cincang kata laluan yang dimasukkan akan dikira dan dihantar melalui rangkaian ke pelayan tempat cincang asal disimpan. Ini dilakukan untuk memastikan tiada sniffing dilakukan apabila kata laluan dihantar daripada klien ke pelayan.
Memandangkan kata kunci yang berbeza digunakan dalam bahasa pengaturcaraan, untuk membezakan antara kata kunci dan pengecam ini, pengkompil menggunakan set cincang yang dilaksanakan menggunakan jadual cincang untuk menyimpan semua kata kunci dan pengecam ini.
Ia ialah algoritma carian yang menggunakan pencincangan untuk mencari satu atau lebih corak dalam rentetan tertentu. Ia adalah salah satu Algoritma yang paling biasa digunakan.
Antara muka ini mengandungi fungsi yang digunakan untuk membandingkan dua objek pada satu masa. Nilai pulangan bagi fungsi ini mungkin negatif, sifar atau positif berdasarkan sama ada objek tertentu adalah kurang daripada, sama atau lebih besar daripada objek yang kita bandingkan. Pembanding dalaman dan antara muka setanding menggunakan fungsi cincang untuk membandingkan objek antara satu sama lain.
Barisan keutamaan tidak seperti baris gilir biasa yang mengikut susunan FIFO (First in First Out). Elemen baris gilir keutamaan disusun dalam susunan tersuai berdasarkan keutamaannya, yang dilaksanakan secara dalaman menggunakan setanding dan pembanding yang pelatih berdasarkan Fungsi Hash.
Berikut ialah beberapa prinsip reka bentuk umum untuk mencipta fungsi cincang:
public int hashCode (){ //Logic goes here }
Perlanggaran cincang berlaku apabila dua atau lebih objek mengembalikan nilai cincang yang sama. Mari kita ambil contoh peta cincang java yang menyimpan data dalam pasangan nilai kunci. Apabila kita meletakkan objek dalam peta cincang, nilai cincang kunci dikira dan berdasarkan lokasi baldi nilai cincang ini untuk menyimpan objek nilai ditemui. Objek yang mempunyai nilai cincang yang berbeza mesti masuk ke dalam baldi yang berbeza. Apabila dua atau lebih objek mempunyai nilai cincang yang sama, ia disimpan di lokasi baldi yang sama menggunakan struktur data tambahan yang dipanggil senarai terpaut. Semua objek yang mempunyai nilai cincang yang sama dirantai bersama menggunakan senarai terpaut. Mekanisme ini dipanggil rantaian. Berikut ialah cara untuk mengendalikan perlanggaran ialah fungsi cincang:
Berikut adalah kelebihan pencincangan:
Selain daripada kelebihan, terdapat juga beberapa batasan pencincangan:
Atas ialah kandungan terperinci Fungsi Hashing di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!