#25-Laravel Hashing

Ada 2 hasing yang sudah ada pada laravel. yaitu Bcrypt dan Argon2. jika kita menggunakan sistem login atau authentication default bawaan dari laravel, laravel menggunakan Bcrypt untuk merahasiakan data password user.

Silahkan teman-teman lihat kembali pada tutorial membuat login dan register laravel yang sudah kita bahas pada tutorial sebelumnya. tentu di sana laravel sudah menerapkan enkripsi hash pada bagian password user. dan laravel menggunakan Bcrypt secara default.

Untuk pengaturan hash pada laravel, teman-teman bisa mengubahnya pada file config/hashing.php.

mungkin teman-teman tidak ingin menggunakan hash default laravel yaitu Bcrypt, teman-teman bisa mengubahnya pada folder config dan file hashing.php.

Penggunaan Hashing Pada Laravel

Cara membuat hash untuk password, kita bisa menggunakan atau memanggil Facade Hash terlebih dulu.  beru kemudian kita bisa menggunakan method make() untuk membuat hash nya.

Saya buatkan contoh sederhananya, misalnya kita ingin membuat atau meng-generate data password ke dalam bentuk hash menggunakan laravel.

Silahkan teman-teman sediakan sebuah controller, di sini saya menggunakan controller dengan nama EndeController.php. dan buat route baru untuk mengakses method pada EndeController.php.

app/routes/web.php

Route::get('/ende/hash', 'EndeController@hash');

nah, pada saat route ‘/hash’ diakses, maka kita akan menjalankan method hash() dari controller EndeController.php. maka sekarang kita buat method baru dengan nama hash() dalam controller EndeController.php.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;

class EndeController extends Controller
{   
    public function hash()
    {
    	$hash_password_saya = Hash::make('halo123');
	echo $hash_password_saya;
    }
}

Ingat, setiap kali kita ingin membuat hash pada laravel ini, kita harus memanggil facade Hash, agar kita bisa membuat hash dengan laravel, seperti pada contoh di atas.

Pada contoh di atas, saya mencoba meng-generate password dari string “halo123”. kemudian kita tampilkan hasilnya.

Sekarang jalankan project laravel kita.

php artisan serve

dan akses route localhost:8000/hash

maka hasilnya seperti berikut.

Hashing

Membuat Verifikasi Hash Pasword

Ada saat nya kita ingin membuat login sendiri tanpa menggunakan fitur Auth dari laravel. nah kita bisa menggunakan cara ini untuk memverifikasi data password yang dimasukkan oleh pengguna dengan data password yang ada pada database kita. Hashing Pada Laravel.

Baca juga : Encrypt dan Decrypt Pada Laravel

Cara ini bisa kita gunkana untuk membuat login manual dengan laravel. kita bisa menggunakan method check(). diisi dengan password yang dimasukkan uder pada parameter pertama, dan data password yang ada pada database (atau password yang sudah di hash sebelumnya) pada parameter kedua.

if (Hash::check('password_yang_dimasukkan', $password_dari_db)) {
    // Jika password benar
}else{
    // jika password tidak sesuai
}

Cukup sederhana sekali.

Jika teman-teman ingin membaca panduan Hashing dari dokumentasi laravel, teman-teman bisa membaca nya di sini.

Terima kasih banyak sudah membaca tutorial Hashing pada laravel. semoga bisa bermanfaat untuk teman-teman semua. dan mari kita lanjutkan pada tutorial laravel selanjutnya.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>