C
Chigusa Tools
🔑 Hash

bcrypt

password_hash / password_verify

bcrypt password hashing and verification.

Cara Penggunaan

Gambaran Umum

Alat untuk membuat hash menggunakan bcrypt atau memverifikasi string hash.

💡
Konversi diproses di sisi server, tetapi tidak ada data yang disimpan.

Salah satu kasus penggunaan umum hashing adalah "penyimpanan kata sandi".

Sebagai prinsip dasar, tidak mungkin membalik hash untuk mendapatkan data asli (satu arah).
Tidak mungkin mendapatkan kata sandi asli dari hash bcrypt-nya.
Itulah mengapa kata sandi tidak disimpan secara langsung — sebagai gantinya, hash biasanya disimpan.

💡
Tergantung kekuatan hash, serangan brute-force mungkin saja terjadi, tetapi penjelasan detail dihilangkan di sini.

Kata sandi yang sama akan selalu menghasilkan hash yang sama.
Ini berarti Anda dapat memverifikasi sebuah string dengan membandingkannya dengan hash yang diketahui.
(Misalnya, untuk memeriksa apakah hash dihasilkan dari kata sandi tertentu)

Pembuatan Hash (password_hash)

Hashing bcrypt dilakukan dengan kode seperti berikut.
$hash = password_hash('string_to_hash', PASSWORD_BCRYPT, [
    'cost' => 'cost',
]);

String hash yang dihasilkan oleh bcrypt menyertakan salt (string acak), sehingga string yang berbeda dihasilkan setiap kali.

$2y$10$Z0kGQ04hCto9dnMu.GyzWOWNQmoKyeF5PXH.zsrf/I.yNJRcbdN86

Biaya default dari fungsi password_hash adalah 10.
Meskipun password_hash menerima rentang 4–31, alat ini membatasinya hingga 4–15 untuk menghindari beban server yang berlebihan.
(Nilai yang lebih tinggi dapat membutuhkan waktu sangat lama untuk diproses.)

Verifikasi Hash (password_verify)

String hash bcrypt mengikuti format tertentu yang menyertakan salt dan jumlah iterasi, sehingga memungkinkan verifikasi apakah hash dihasilkan dari string tertentu.

Verifikasi hash bcrypt dilakukan dengan kode seperti berikut.
$result = password_verify('original_string', 'hash_string_to_verify');
💡
Anda dapat dengan mudah melakukan hashing dan verifikasi bcrypt menggunakan alat ini.