alvian-cs blog

Cara Enkripsi Parameter Dan Variabel Pada PHP

Cara Enkripsi Parameter Dan Variabel Pada PHP


Kali ini yang akan kita kupas adalah cara mengenskripsi URL parameter agar lebih aman dari peretasan seperti XSS exploit, SQL Injection, dll seperti kebanyakan website – website besar.


 Tentu yang harus kita lakukan pertama adalah membuat function. Berikut functionnya:
<?php

function encrypt( $q ) {
    $cryptKey  = 'qJB0rGtIn5UB1xG03efyCp';
    $qEncoded      = base64_encode( mcrypt_encrypt( MCRYPT_RIJNDAEL_256, md5( $cryptKey ), $q, MCRYPT_MODE_CBC, md5( md5( $cryptKey ) ) ) );
    return( $qEncoded );
}

function decrypt( $q ) {
    $cryptKey  = 'qJB0rGtIn5UB1xG03efyCp';
    $qDecoded      = rtrim( mcrypt_decrypt( MCRYPT_RIJNDAEL_256, md5( $cryptKey ), base64_decode( $q ), MCRYPT_MODE_CBC, md5( md5( $cryptKey ) ) ), "\0");
    return( $qDecoded );
}
?> 


Jadi ada dua fungsi, yang satu encrypt() berfungsi untuk mengubah string menjadi tipe string md5 yang kemudian di encrypt kembali menjadi base64, dengan kata lain untuk melakukan double enkripsi. Fungsi yang satunya adalah kebalikan dari fungsi encrypt() yaitu untuk mengembalikan ke string semula

Berikut kode PHP-nya, tambahkan di bawah function tadi:

<?php
 $id = "USR13";
$Encrypted = encrypt($id);
$Decrypted = decrypt($Encrypted);
?>

<a href="index.php?id=<?php echo $Encrypted?>">Enkrip</a>
<a href="index.php?id=<?php echo $Decrypted?>">Dekript</a>

Foto sebelum dan sesudah di enkrip:








8 Comments

8 comments:

  1. Replies
    1. Oke sama - sama, senang tutorial ini bisa membantu Anda.

      Delete
  2. kok "undefined function encrypt()" padahal penamaan sudah benar

    ReplyDelete
    Replies
    1. Maaf mas Yusuf, ada beberapa kesalahan ternyata, coba tambahkan tanda buka
      Silakan ikuti lagi cara diatas sudah saya update. Terimakasih atas komentarnya

      Delete
  3. gan kode ini $cryptKey = 'qJB0rGtIn5UB1xG03efyCp'; fungsinya untuk apa ya

    ReplyDelete
    Replies
    1. $cryptKey itu fungsinya buat kombinasi enkripsi string biar nggak gampang di bobol Mas. Itu string 'qJB0rGtIn5UB1xG03efyCp' juga boleh diganti kok, terserah dengan apa yang kamu inginkan. Secara programatikal, string tersebut nantinya akan diencode diolah bersama string 'USR13'-nya. Keep learning gan :)

      Delete
  4. Fatal error: Uncaught Error: Call to undefined function mcrypt_encrypt() in C:\xampp\htdocs\xampp\New folder\index.php:18 Stack trace: #0 C:\xampp\htdocs\xampp\New folder\index.php(30): encrypt('USR13') #1 {main} thrown in C:\xampp\htdocs\xampp\New folder\index.php on line 18

    ReplyDelete

Cara Enkripsi Parameter Dan Variabel Pada PHP Cara Enkripsi Parameter Dan Variabel Pada PHP