Image     Buku Tamu   Humor    Buku Tamu   Site Map

11 Feb 2016

Simple Encrypt Decrypt with str_replace (Enkripsi Dekripsi sederhana)

Banyak algoritma enkripsi dan dekripsi yang sudah beredar, semisal RSA, rot13, md5 dan sebagainya, namun yang akan kita bahas adalah enkripsi sederhana yang kita sendiri tahu untuk melakukan dekrip apa yang menjadi kunci untuk mengembalikan karakter yang kita sendiri tahu.

salah satu fungsinya adalah untuk mengamankan link yang biasanya  dengan perintah $_GET['apalah'].
contoh link ?index.php?aksi='profile'&kode="mursids"

kita bisa ubah dengan semisal
index.php?aksi='sUPtnMI'&kode=SoUWnAW' 


atau juga password, jika menggunakan base64 , atau md5 terlalu panjang, maka script ini bisa menjadi alternatif 

maka ada langkah-langkah yang harus di buat1. Buat tabel datanya misal seperti berikut

$key = array(
    'd' => 'A','j' => 'K','r' => 'U','A' => 'a','6' => 'k','4' => 'u',
    'f' => 'B','3' => 'L','5' => 'V','R' => 'b','J' => 'l','0' => 'v',
    'g' => 'C','l' => 'M','s' => 'W','B' => 'c','Z' => 'm','S' => 'w',
    'a' => 'D','p' => 'N','x' => 'X','M' => 'd','i' => 'n','T' => 'x',
    'I' => 'E','k' => 'O','z' => 'Y','L' => 'e','u' => 'o','Y' => 'y',
    'h' => 'F','o' => 'P','t' => 'Z','C' => 'f','H' => 'p','7' => 'z',
    'b' => 'G','n' => 'Q','v' => '1','K' => 'g','N' => 'q','W' => '5',
    '1' => 'H','2' => 'R','y' => '2','O' => 'h','G' => 'r','8' => '6',
    'e' => 'I','m' => 'S','U' => '3','D' => 'i','P' => 's','9' => '7',
    'c' => 'J','q' => 'T','w' => '4','Q' => 'j','F' => 't','V' => '8',   
    'E' => '9','=' => ' ','X' => '0','`' => '~','~' => '`','=' => ' ',
    ' ' => '=','"' => '%','.' => '*','*' => '"','*' => '%'); //silakan di ubah sendiri.
berikutnya membuat



susunan untuk enkripsi dan dekripsinya dengan fungsi seperti berikut :



function ec($in,$key){
    $out='';
    for($i=0;$i        $temp=($in[$i]);
        $r=search("E",$key,$temp);
        $R=str_replace($temp, $r, $temp);
        $out=$out.$R;
    }
    return $out;
    }
function dc($in,$key){
    $out='';
    for($i=0;$i        $temp=($in[$i]);
        $r=search("D",$key,$temp);
        $out=$out. str_replace($temp, $r, $temp);
    }
    return $out;


Maksud dari fungsi (function) di atas adalah fungsi yang di panggil untuk proses baik enkrip (ec) ataupun dekrip (dc) sambil menyertakan parameter-nya.
      
agar dapat memecah dan membandingkan dalam array maka di cari satu persatu seperti di script berikut ini :

function search($type,$arr,$cari){
    foreach( $arr as $key=>$val )
    { if($type=="E") { $x=$key;$y=$val;} else { $x=$val;$y=$key;}
    if (ord($x) == ord($cari)){
        return $y;
}}return $cari;    }

pencarian di dalam array dilakukan setelah di ubah terlebih dahulu ke dalam bentuk ascii, yakni perintah ord.

dan akhirnya dapat di panggil fungsinya seperti berikut :
untuk encrisi :

$text = "profile";
print ec($text,$key);

kemudian untuk dekrip-nya seperti berikut :
$text= sUPtnMI;
print dc($text,$key);

nah selesai sudah kodingnya. untuk download dapat di download di github pada  link ini
anda dapat memoifikasi tabel sesuai dengan keinginan anda.
Sekian dari saya, banyak salah mohon maaf.

Tidak ada komentar:

Posting Komentar

Tinggalkan Komentar :