7 Cara Aman Hashing Password dengan password_hash() di PHP
Mengamankan password pengguna adalah bagian terpenting dari pengembangan aplikasi web. Dalam PHP, fungsi password_hash() adalah standar modern untuk melakukan hashing secara aman, sederhana, dan sulit diretas.
1. Apa Itu Hashing Password?
Hashing adalah proses mengubah password asli menjadi teks acak yang tidak bisa dikembalikan lagi ke bentuk semula. Berbeda dengan enkripsi, hashing bersifat satu arah sehingga lebih aman untuk penyimpanan password.
2. Kenapa Harus Menggunakan password_hash()?
- Menggunakan algoritma aman seperti BCRYPT atau Argon2.
- Memiliki salt otomatis, jadi tidak perlu membuat salt manual.
- Menyediakan cost factor untuk memperkuat keamanan.
- Standar modern yang direkomendasikan OWASP.
3. Cara Dasar Hashing dengan password_hash()
<?php
$password = "rahasia123";
// Membuat hash
$hash = password_hash($password, PASSWORD_DEFAULT);
echo $hash;
?>
Output yang dihasilkan adalah string acak yang aman, dan bisa langsung disimpan di database.
4. Verifikasi Password dengan password_verify()
<?php
$input = "rahasia123";
if (password_verify($input, $hash)) {
echo "Password benar!";
} else {
echo "Password salah!";
}
?>
Fungsi ini membandingkan password input dengan hash yang tersimpan.
5. Menggunakan Algoritma Argon2 (Lebih Aman)
<?php
$hash = password_hash("rahasia123", PASSWORD_ARGON2ID);
echo $hash;
?>
Argon2 adalah algoritma hashing paling aman saat ini.
6. Menentukan Cost Factor
<?php
$options = [
"cost" => 12
];
$hash = password_hash("rahasia123", PASSWORD_BCRYPT, $options);
?>
Semakin tinggi cost, semakin aman (tapi lebih berat).
7. Kesalahan Umum dalam Hashing Password
- Menyimpan password tanpa hashing.
- Menggunakan MD5 atau SHA1 (sudah tidak aman).
- Membuat salt manual (tidak diperlukan lagi).
Kesimpulan
password_hash() adalah cara terbaik dan paling aman untuk menyimpan password di PHP. Dengan fitur hashing modern seperti BCRYPT dan Argon2, serta verifikasi yang mudah menggunakan password_verify(), developer bisa membangun sistem login yang kuat dan aman.
Artikel Lainnya:
- Panduan Lengkap Mobile JKN: Cara Instal & Daftar Antrian Online Puskesmas Ajibarang I
- Cara Mencegah SQL Injection di PHP & MySQL (Keamanan Web Klinik)
- Cara Membuat Sistem Login Multi-Level (Admin, Bidan/Dokter, Pasien) di PHP & MySQL
- Cara Membuat Desain Database Sistem Rekam Medis MySQL (Relasi One-to-Many)
- Mudahnya Membuat Link Chat Langsung dengan WA Generator imandroid.web.id
Belum ada komentar. Jadilah yang pertama berkomentar!