Menambahkan Fungsi Password Hash di Proyek CodeIgniter

Pada artikel sebelumnya kita membahas tentang CRUD dan validasi, terdapat form untuk menambahkan biodata user mulai dari nama, email, password dan role. kali ini akan kita fokuskan pada password, karena kita akan menambahkan fungsi Password Hash dan Password Verify, sehingga dapat meningkatkan keamanan pada sistem yang sedang kita bangun. Tentu saja kita masih melanjutkan proyek website dengan CodeIgniter.

Apa itu Hash dan Verify?

Fungsi Hash merupakan algoritma yang mengubah teks atau pesan (text or message) menjadi sederetan karakter acak yang memiliki karakter yang sama.

Hash juga termasuk salah satu bentuk teknik kriptografi tanpa menggunakan kunci (unkeyed cryptosystem). Selain itu hash memiliki nama lain yang juga dikenal yaitu “one-way function

Dengan menyimpan password dalam bentuk hash values, seorang peretas atau hacker akan mengalami kesulitan untuk mendapatkan password aslinya, walaupun tidak ada sistem yang benar-benar aman, namun metode ini dapat meminimalisir bentuk penyerangan keamanan pada sistem web yang memang memerlukan proses autentikasi

Nah, Password Verify merupakan fungsi yang bertujuan untuk melakukan verifikasi (mencocokan) data yang telah kita hash sebelumnya dengan menggunakan fungsi Password Hash

Cara menggunakan fungsi password_hash

Untuk menambahkan fungsi ini sebenarnya cukup sederhana, hanya menambahkan kode ini password_hash(variabel,metode hash [PASSWORD_BCRYPT,md5,...]), perhatikan baris kode berikut:

php
'password' => password_hash($this->request->getVar('password'), PASSWORD_BCRYPT),

Jadi, nantinya isi atau variabel dari password akan diambil, lalu diubah menjadi bentuk string acak seperti ini $2y$10$vww5RU/q3STOQLCBTzX9de6yb5nKUixWniy5oQtGcHYzxsBtOy43u, lalu disimpan ke database, untuk mencocokan string acak tersebut kita dapat menggunakan fungsi password_verify(), fungsi ini biasanya digunakan saat proses login.

Menambahkan pada Controller User

Buka file Controller User, lalu cari fungsi simpandata(), tambahkan pada bagian $simpandata, seperti pada baris kode berikut:

php
$simpandata = [ 'nama' => $this->request->getVar('nama'), 'email' => $this->request->getVar('email'), 'password' => password_hash($this->request->getVar('password'), PASSWORD_BCRYPT), 'id_role' => $this->request->getVar('id_role'), ];

Silahkan buka http://localhost:8080/user, lalu tambahkan data baru, maka nanti password-nya akan tersimpan menjadi string acak. seperti gambar berikut:

Bagaimana, caranya cukup sederhana dan gampang bukan?.

Prototez
Prototez Bercerita mencari jawaban

Tidak ada komentar untuk "Menambahkan Fungsi Password Hash di Proyek CodeIgniter"