cincang ialah rentetan panjang tetap (cernaan) yang dijana daripada data input sebarang saiz menggunakan fungsi cincang. Prosesnya adalah sehala—anda tidak boleh menyahsulit atau membalikkan cincangan untuk mendapatkan data asal. Itulah sebabnya "penyulitan cincang" adalah nama yang salah; pencincangan bukan penyulitan.
Algoritma cincang popular termasuk:
MD5 (usang untuk kegunaan keselamatan)
SHA-1 (ditamatkan)
SHA-256, SHA-512 (sebahagian daripada keluarga SHA-2)
SHA-3
bcrypt, scrypt, Argon2 (untuk pencincangan kata laluan selamat)
Hashing berfungsi beberapa tujuan dalam keselamatan siber dan integriti data. Sebab utama untuk menggunakan pencincangan termasuk:
Integriti Data: Memastikan data tidak diubah (mis., jumlah semak fail).
Storan Kata Laluan: Menyimpan kata laluan dengan selamat dengan membandingkan cincangan daripada menyimpan kata laluan sebenar.
Tandatangan Digital: Cincang ditandatangani dan bukannya dokumen besar.
Kecekapan: Nilai cincang bersaiz tetap yang kecil adalah lebih pantas untuk dibandingkan daripada blok data yang besar.
Oleh kerana cincang bersifat deterministik dan pantas, ia sesuai untuk tugas pengesahan.
Menggunakan fungsi cincang melibatkan:
Memasukkan data (cth., fail, rentetan atau kata laluan).
Memproses data dengan algoritma pencincangan.
Mendapatkan ringkasan, iaitu rentetan saiz tetap yang mewakili input secara unik.
Untuk perlindungan kata laluan:
Gabungkan kata laluan dengan garam (data rawak).
Gunakan fungsi cincang selamat (cth., bcrypt atau Argon2).
Simpan cincang dan garam yang terhasil dengan selamat.
Memandangkan cincangan tidak boleh diterbalikkan, anda mengesahkan input (seperti kata laluan) dengan mencincangnya sekali lagi dan membandingkan cincang baharu dengan cincang yang disimpan.
Pencincangan hendaklah digunakan apabila:
Integriti data perlu disahkan (cth., menyemak rasuah atau gangguan).
Kata laluan perlu disimpan dengan selamat (bukan disulitkan atau teks biasa).
Tandatangan dan sijil digital terlibat (pencincangan memastikan ketulenan dokumen).
Perbandingan data pantas diperlukan (cth., dalam jadual cincang atau cache).
Pencincangan tidak sesuai apabila anda perlu memulihkan data asal kemudian—itulah gunanya penyulitan.