Skip to content Skip to sidebar Skip to footer

Membuat Fungsi Enkripsi dan Dekripsi

Contoh Website 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

2 comments for "Membuat Fungsi Enkripsi dan Dekripsi"