ncrypt dan decrypt data adalah salah satu cara untuk mengamankan data agar tidak mudah dibaca. Di CodeIgniter kita bisa membuat library sendiri untuk kebutuhan encrypt dan decrypt data. Tutorial ini saya buat ketika saya ingin ID data dari suatu item di URL terenkripsi. Contoh :
- ID di Enkripsi: http://localhost/blog/EnkripsiDanDeskripsi/M2o5Y3YyMjQzU1lYK29vWlRFNFBMUT09 (Secure)
- ID di Deskripsi: http://localhost/blog/EnkripsiDanDeskripsi/2020 (Not Secure)
Dari contoh diatas kita dapat melihat bahwa ID dari URL yang terenkripsi mempunyai nilai random, sedangkan ID dari URL yang terdeskripsi mempunyai nilai 2020.
Langkah 1. Buatlah sebuah file baru dengan nama Secure.php dan security.ini (penamaan bebas) dan simpan didirektori applications/libraries/
CodeIgniter Tutorial – Membuat Library Encrypt dan Decrypt Data di CodeIgniter
Encrypt dan decrypt data adalah salah satu cara untuk mengamankan data agar tidak mudah dibaca. Di CodeIgniter kita bisa membuat library sendiri untuk kebutuhan encrypt dan decrypt data. Tutorial ini saya buat ketika saya ingin ID data dari suatu item di URL terenkripsi. Contoh :
- ID di Enkripsi: http://localhost/blog/EnkripsiDanDeskripsi/M2o5Y3YyMjQzU1lYK29vWlRFNFBMUT09 (Secure)
- ID di Deskripsi: http://localhost/blog/EnkripsiDanDeskripsi/2020 (Not Secure)
Dari contoh diatas kita dapat melihat bahwa ID dari URL yang terenkripsi mempunyai nilai random, sedangkan ID dari URL yang terdeskripsi mempunyai nilai 2020.
Langkah 1. Buatlah sebuah file baru dengan nama Secure.php dan security.ini (penamaan bebas) dan simpan didirektori applications/libraries/
Isi dari file Secure.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | <?php if (!defined("BASEPATH")) exit("No direct script access allowed"); class secure { function encrypt_url($string) { $output = false; $security = parse_ini_file('security.ini'); // parsing file security.ini output:array asosiatif //Hasil parsing masukkan kedalam variable $secret_key = $security['encryption_key']; $secret_iv = $security['iv']; $encrypt_method = $security['encryption_mechanism']; //hash $secret_key dengan algoritma sha256 $key = hash("sha256", $secret_key); //iv(initialize vector), encrypt iv dengan encrypt method AES-256-CBC (16 bytes) $iv = substr(hash("sha256", $secret_iv), 0, 16); $result = openssl_encrypt($string, $encrypt_method, $key, 0, $iv); $output = base64_encode($result); return $output; } function decrypt_url($string) { $output = false; $security = parse_ini_file('security.ini'); // parsing file security.ini output:array asosiatif //Hasil parsing masukkan kedalam variable $secret_key = $security['encryption_key']; $secret_iv = $security['iv']; $encrypt_method = $security['encryption_mechanism']; //hash $secret_key dengan algoritma sha256 $key = hash("sha256", $secret_key); //iv(initialize vector), encrypt $secret_iv dengan encrypt method AES-256-CBC (16 bytes) $iv = substr(hash("sha256", $secret_iv), 0, 16); $output = openssl_decrypt(base64_decode($string), $encrypt_method, $key, 0, $iv); return $output; } } |
Isi dari file security.ini
1 2 3 | encryption_key=4987632563987124 ;16 digits iv=4532879263570159 ;16 digits encryption_mechanism=aes-256-cbc |
Langkah 2. Buatlah sebuh controller dengan nama EnkripsiDanDekripsi.php
EnkripsiDanDekripsi.php (Controller)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <?php defined('BASEPATH') or exit('No direct script access allowed'); class EnkripsiDanDekripsi extends CI_Controller { public function __construct() { parent::__construct(); $this->load->library('secure'); // load library secure yg telah kita buat } public function index() { $id = 2020; // data yg akan di enkripsi $encrypt_id = $this->secure->encrypt_url($id); // mengenkripsi $id $decrypt_id = $this->secure->decrypt_url($encrypt_id); // mendekripsi $encrypt_id //Output echo "<b>Text asli: </b>" . $id; echo "<br/> <br/>"; echo "<b>Text di Enkripsi: </b>" . $encrypt_id; echo "<br/><br/>"; echo "<b>Text di Dekripsi:</b> " . $decrypt_id; echo "<br/> <br/>"; echo "<b>URL di Enkripsi: </b>" . base_url() . "EnkripsiDanDekripsi/" . $encrypt_id; echo "<br/> <br/>"; echo "<b>URL di Dekripsi: </b>" . base_url() . "EnkripsiDanDekripsi/" . $decrypt_id; } } |
Untuk menjalankan program silahkan ketik URL http://localhost/blog/enkripsidandekripsi
sumber : https://www.pasirganting.com
Baca Juga
Rekomendasi untuk kamu
Pada artikel kali ini, saya akan mengajarkan membuat calendar dengan langkah singkat menggunakan framework CodeIgniter….
Hai, Pada postingan kali ini kami telah menjelaskan cara membuat Pagination di Codeigniter menggunakan library…
Upload image merupakan fitur penting dalam sebuah halaman website. Apalagi bagi anda yang fokus pada…
Pagination atau yang lebih dikenal dengan istilah “Paging” adalah salah satu cara untuk menampilkan data…