Laravel, di sisi lain, menyediakan enkripsi out-of-the-box, yang menggunakan OpenSSL untuk menyediakan enkripsi AES-256 sehingga Anda tidak benar-benar harus membuat teknik enkripsi sendiri.
Dalam tutorial ini, Anda akan belajar bagaimana menggunakan enkripsi Laravel untuk mengenkripsi teks!
Daftar Isi
Install laravel
Langkah pertama Anda install dulu aplikasi laravel terbaru menggunakan composer.
composer create-project laravel/laravel example-app
cd example-app
php artisan serve
Konfigurasi Kunci Aplikasi
Sebelum Anda memulai, Anda perlu memastikan bahwa Anda telah membuat Kunci Aplikasi.
Jika Anda belum memiliki kunci yang dibuat, untuk melakukannya, Anda dapat menjalankan perintah berikut:
php artisan key:generate
Enkripsi Laravel akan tetap berfungsi tanpa kunci, tetapi nilai yang dienkripsi mungkin tidak aman.
Membuat Route
Sekarang setelah Kunci Aplikasi kita siap, mari lanjutkan dan buat dua route, satu untuk menguji enkripsi Laravel dan satu lagi untuk menguji dekripsi Laravel.
Untuk melakukan itu, buka file routes/web.php dan tambahkan yang berikut ini:
Route::get('encrypt', EncryptionController@encrypt');
Route::get('decrypt', EncryptionController@decrypt');
Rute pertama adalah /encrypt route, yang akan menghasilkan string terenkripsi untuk kita, dan yang kedua akan mendekripsi string itu.
Dengan itu, mari buat controller EncryptionController !
Membuat Controller
Untuk contoh ini, mari buat controller baru bernama EncryptionController:
php artisan make:controller EncryptionController
Ini akan membuat controller baru di: app/Http/Controllers/EncryptionController.php.
Selanjutnya, buka file itu di editor teks Anda dan pertama tambahkan Crypt facade:
use Illuminate\Support\Facades\Crypt;
Kemudian mari kita buat dua metode publik baru: satu untuk mengenkripsi string dan satu lagi untuk mendekripsi string yang sama bernama encrypt dan decrypt.
Ecryption method
Mari kita mulai dengan metode Enkripsi sederhana yang akan mengenkripsi string hardcode untuk kita:
public function encrypt()
{
$encrypted = Crypt::encryptString('Hello DevDojo');
print_r($encrypted);
}
Rundown metode:
- public function
encrypt()
: pertama kita tentukan metodenya Crypt::encryptString('Hello DevDojo')
: kemudian menggunakanCrypt::encryptString()
metode statis kami mengenkripsi Hello DevDojostring sederhanaprint_r($encrypted);
: akhirnya, kami akan mencetak string terenkripsi di layar.
Setelah kunjungan itu, /encrypt URL melalui browser Anda dan Anda akan melihat string terenkripsi yang mirip dengan ini:
string(188) "eyJpdiI6ImxSdGhkeVg2VHlCNUs0citKT0V4NHc9PSIsInZhbHVlIjoiSEM5V0pVWURySnVabGlnenNwTDgzUT09IiwibWFjIjoiZTJlYWVhYmI2OTJmZWJkZWVhOTg3Nzc1ZTQwNDBlNmI3ODIzZTY5YTgwZGM3N2YwYTRmYTEwYmJiYmNjZmE2NiJ9"
Catat string ini dan kembali ke editor teks Anda untuk menyiapkan decrypt metode!
Decryption method
Kemudian buat metode publik baru bernama decrypt:
public function decrypt()
{
$decrypt= Crypt::decryptString('your_encrypted_string_here');
print_r($decrypt);
}
Catatan :
Pastikan untuk mengubah your_encrypted_string_here dengan string yang dikodekan sebenarnya yang Anda dapatkan dari langkah terakhir
Mirip dengan metode Enkripsi, kami kembali menggunakan metode Crypt dihadapkan dengan decryptString statis untuk mendekripsi string!
Kemudian kali ini mengunjungi /decrypt URL di browser Anda, dan Anda akan melihat Hello DevDojo pesan yang didekripsi !
Tentu saja, contoh di atas hanya menunjukkan Crypt fungsionalitas. Dalam skenario kehidupan nyata, Anda kemungkinan besar akan mendapatkan string Anda dari permintaan POST atau panggilan API misalnya.
Kesimpulan
Untuk informasi lebih lanjut tentang cara menggunakan Enkripsi Laravel, pastikan untuk memeriksa dokumentasi resmi di sini:
https://laravel.com/docs/8.x/encryption
Saya harap ini membantu!
laravel encrypt and decrypt a string in Laravel