Membuat Fungsi Enkripsi dan Dekripsi
Enkripsi dan deskripsi ini sebenarnya untuk membantu keamanan URL atau Kata Sandi atau lainnya yang mengacu pada database yang berada website Anda. Contoh apabila URL situs Anda menggunakan http://localhost/index.php?id=1 maka URL tersebut akan dengan mudah ter exploitasi oleh pihak yang tidak bertanggung jawab.
Nah.. dengan ini, nilai yang ?id=1 akan di enkripsi menjadi beberapa karakter rahasia dan tentunya Anda bisa mengembalikanya dengan dekripsi.
Di bawah ini kode untuk membuat hal tersebut Anda bisa copy dan paste di editor favorit Anda masing-masing.
File class.crypt.php
class Crypt { var $skey = "1234567891asdfgh"; // you can change it public function safe_b64encode($string) { $data = base64_encode($string); $data = str_replace(array('+','/','='),array('-','_',''),$data); return $data; } public function safe_b64decode($string) { $data = str_replace(array('-','_'),array('+','/'),$string); $mod4 = strlen($data) % 4; if ($mod4) { $data .= substr('====', $mod4); } return base64_decode($data); } public function encode($value) { if(!$value) { return false; } $text = $value; $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $this->skey, $text, MCRYPT_MODE_ECB, $iv); return trim($this->safe_b64encode($crypttext)); } public function decode($value) { if(!$value) { return false; } $crypttext = $this->safe_b64decode($value); $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); $decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $this->skey, $crypttext, MCRYPT_MODE_ECB, $iv); return trim($decrypttext); } }
Untuk $skey masukan nilai acak sama dengan 16 karakter atau 32 karakter seperti contoh di atas atau bisa Anda masukan sesuai yang di inginkan.
File index.php
require 'class.crypt.php'; $crypt = new Crypt; $enk = $crypt->encode('test'); $dek = $crypt->decode($enk); echo 'Enkripsi : ' . $enk . ''; echo 'Dekripsi : ' . $dek ;
Setelah itu Anda tinggal jalankan langsung di browser dan lihat hasil output nya. Selesai
Terimakasih gan, sangat bermanfaat...
ReplyDeleteOk siap :)
Delete