| Prime Time

Laravel #28 : Encrypt dan Decrypt Laravel

Encrypt dan Decrypt Laravel

Jika teman-teman membaca turorial laravel sebelumnya, tentang membuat login dengan laravel, pasti teman-teman melihat password user yang dienkripsi. itu adalah salah satu kegunaan enkripsi dalam pembuatan aplikasi. jadi kita bisa menyamarkan atau merahasiakan data yang bersifat sensitif. agar tidak mudah terbaca ke publik.

Untuk mulai mengikuti tutorial cara membuat enkripsi dan dekripsi dengan laravel, silahkan teman-teman perhatikan pembahasan berikut.

Sebagai contoh, buatlah sebuah controller baru dengan nama terserah teman-teman. pada tutorial Encrypt dan Decrypt Laravel ini, saya akan membuat sebuah controller baru dengan nama DikiController.php.

Supaya menghemat waktu, kita bisa membuat controller dengan php artisan. masuk ke project laravel teman-teman melalui CMD atau terminal, kemudian ketik perintah artisan berikut.

php artisan make:controller DikiController.php

jika teman-teman lupa caranya membuat controller pada laravel, silahkan baca tutorial sebelumnya tentang cara membuat controller pada laravel.

Setelah membuat controller DikiController.php, sekarang buka pengaturan routes laravel yang ada pada file /routes/web.php. dan buat route baru seperti berikut.

project_laravel/routes/web.php

Route di atas bertujuan untuk membuat url β€˜/enkripsi’, dan akan menjalankan method atau function enkripsi() dalam controller DikiController.php pada saat url tersebut diakses.

selanjutnya buat method enkripsi() dalam controller DikiController.php.

app/Http/Controllers/DikiController.php

Perhatikan pada contoh penggunaan fungsi encrypt dan decrypt di atas. untuk menggunakan fungsi encrypt dan decrypt laravel, kita wajib memanggil terlebih dulu Facade Crypt.

Baru kemudian kita bisa menggunakan fungsi encrypt dan decrypt untuk membuat enkripsi dan dekripsi data di laravel.

Selanjutnya perhatikan pada function enkripsi(). untuk membuat enkripsi kita bisa menggunakan method Crypt::encryptString(). dengan memasukkan data yang ingin dienkripsi di dalam parameter method ini.

Untuk mendekripsi kita bisa menggunakan method Crypt::decryptString(). dengan memasukkan hasil enkripsi data yang ingin didekripsi.

Sekarang lihat hasilnya dengan menjaankan project laravel kita dan akses route β€˜/enkripsi’.

php artisan serve

kemudian akses localhost:8000/enkripsi.

Maka hasilnya seperti berikut.

encrypt dan decrypt laravel

encrypt dan decrypt laravel

Seperti yang terlihat pada gambar di atas, data yang sebelumnya berbentuk string β€œBelajar Laravel Di malasngoding.com” berhasil di enkripsi. kemudian kita juga mendekripsi kembali hasil enkripsi sebelumnya, sehingga berhasil menampilkan kembali isi data string. yang berisi β€œBelajar Laravel Di malasngoding.com”.

Membuat Enkripsi URL di Laravel

Kita juga bisa membuat enkripsi URL pada laravel dengan menggunakan fitur ini. caranya masih sama seperti sebelumnya, hanya saja kita perlu membuat route yang menangkap data seperti yang sudah kita pelajari sebelumnya.

buat route baru.

routes/web.php

route di atas adalah contoh route pengiriman data dari URL yang saya buat, untuk ke depannya teman-teman bisa mengembangkan lagi sesuai dengan keinginannya.

Pada route β€˜/data’ kita akan mengirimkan data melalui url. data yang dikirim menuju ke yang kedua, yaitu β€˜/data/{data_rahasia}’.

Oke selanjutnya buat 2 buat function dalam controller DikiController.php sesuai dengan yang kita buat pada route di atas.

app/Http/controllers/DikiController.php

Pada contoh di atas, saya tidak menggunakan view, jadi langsung saja saya buat pada bagian controllernya, teman-teman bisa terapkan sendiri nanti dalam view.

seperti yang sudah saya singgung sebelumnya, function data menjadi pengirim data, dan function data_proses yang menerima datanya.

Pada function data() kita buat contoh dengan sebuah array yang menyimpan data nama dan pekerjaan. kemudian di enkripsi dengan method Crypt::encrypt(). hasil enkripsinya kita kirimkan ke function data_proses() melalui url.

dan kemudian pada function data_proses() kita tangkap datanya seperti biasa, kemudian kita dekripsi data nya dan kita tampilkan sesuai dengan data yang dikirim dalam array tadi.

Sekali lagi saya ingatkan, lebih baik teman-teman menggunakan view, seperti materi sebelum-sebelumnya, karena berhubung ini hanya contoh, jadi langsung saja saya buat di controllernya langsung.

Sekarang jalankan project laravel kita, dan akses localhost:8000/data.

Maka hasilnya seperti berikut.

enkripsi url pada laravel

enkripsi url pada laravel

Seperti yang sudah kita buat, link di atas berisi data nama dan pekerjaan yang kita buat dalam array dan kita enkripsi, sehingga pada saat di klik,

enkripsi url laravel

enkripsi url laravel

Perhatikan url pada gambar di atas, enkripsi url tersebut adalah hasil enkripsi yang kita kirimkan melalui url tadi, kemudian kita decrypt pada function data_proses(), dan kita tampilkan datanya.