MetaXploit

Membuat Base64 Custom Encode/Decode pada PHP

Membuat Base64 Custom Encode/Decode pada PHP - Seperti yang kita ketahui, Kriptografi Base64 adalah algoritma penyandian yang memungkinkan Anda untuk mengubah karakter apa pun menjadi alphabet yang terdiri dari huruf Latin, angka, plus, dan garis miring. Berkat itu, Anda dapat mengonversi karakter jepang/cina, emoji, dan bahkan gambar menjadi string yang "dapat dibaca", yang dapat disimpan atau ditransfer ke mana saja.

Membuat base64 custom alphabet
Base69: Custom Encode Decode of base64

Base64 paling umum digunakan untuk encoding data biner (misalnya, gambar, atau file suara) untuk disematkan ke HTML, CSS, EML, dan dokumen teks lainnya. Selain itu, Base64 juga sering digunakan untuk encoding request data pada url website.

Keamanan
Base64 bukan suatu algoritma enkripsi melainkan encode dan dalam hal apa pun itu tidak boleh digunakan untuk kata sandi "hash" atau "data yang dienkripsi", karena itu adalah algoritma yang dapat dibalikkan(decode) dan data yang disandikan(encode) dapat dengan mudah diterjemahkan.

Membuat base64 custom alphabet
Pada bahasa pemrograman PHP sebenarnya sudah ada fungsi bawaan untuk membuat encode/decode base64 yaitu base64_encode() dan juga base64_decode() dengan alfabet standart yaitu ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= dengan begitu data akan sangat mudah untuk di decode(diterjemahkan). Oleh karena itu, pada tutorial ini saya akan berbagi cara membuat base64 dengan custom alphabet.

Langsung saja kita buat fungsi base69 sebagai custom dari base64 terlebih dahulu seperti dibawah ini

<?php
function base69_encode($input){
    $default = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    $custom  = "pQaZIivj4ndGAH021y+NO5RTS/xPgUz76FMhYq8b3mewKfkJLBocDCrs9VtWIXEu=";
    $encoded = strtr(base64_encode($input), $default, $custom);
    return $encoded;
}
function base69_decode($input){
    $custom  = 'pQaZIivj4ndGAH021y+NO5RTS/xPgUz76FMhYq8b3mewKfkJLBocDCrs9VtWIXEu=';
    $default = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
    $decoded = base64_decode(strtr($input, $custom, $default));
    return $decoded;
}
?>
Kalian dapat mengubah variabel custom menjadi kombinasi alphabet yang kalian inginkan tapi ingat karakter tidak boleh dobel. Setelah itu, bagaimana cara menggunakannya?

<?php
function base69_encode($input){
    $default = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    $custom  = "pQaZIivj4ndGAH021y+NO5RTS/xPgUz76FMhYq8b3mewKfkJLBocDCrs9VtWIXEu=";
    $encoded = strtr(base64_encode($input), $default, $custom);
    return $encoded;
}
function base69_decode($input){
    $custom  = 'pQaZIivj4ndGAH021y+NO5RTS/xPgUz76FMhYq8b3mewKfkJLBocDCrs9VtWIXEu=';
    $default = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
    $decoded = base64_decode(strtr($input, $custom, $default));
    return $decoded;
}
$data = "Belajar kriptografi menggunakan base69 - metaxploit.org";
echo base69_encode($data);
?>
Pada contoh diatas terdapat string pada variabel data, dan kemudian saya gunakan fungsi base69_encode() untuk mengencode string tersebut dan hasilnya sebagai berikut.

Base64 Custom Encode

Gambar diatas menunjukkan hasi dari encode base69 yang semula adalah "Kriptografi menggunakan base69 - metaxploit.org" sekarang berubah menjadi encode base69.

Sekarang bagaimana cara menerjemahkan atau men-decode nilai tersebut?

<?php
function base69_encode($input){
    $default = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    $custom  = "pQaZIivj4ndGAH021y+NO5RTS/xPgUz76FMhYq8b3mewKfkJLBocDCrs9VtWIXEu=";
    $encoded = strtr(base64_encode($input), $default, $custom);
    return $encoded;
}
function base69_decode($input){
    $custom  = 'pQaZIivj4ndGAH021y+NO5RTS/xPgUz76FMhYq8b3mewKfkJLBocDCrs9VtWIXEu=';
    $default = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
    $decoded = base64_decode(strtr($input, $custom, $default));
    return $decoded;
}
$data = "185KSRmFgMQwg8qLUvXbg8i8x+Qf/RVb/s5kSRfFPMQMSTHqHhY6G+Qf/TyFzjQKPrqDG8Xo/L==";
echo base69_decode($data);
?>
Base64 Custom Decode
Mungkin itu saja tutorial custom base64 pada php. Jika ada kesulitan silahkan bertanya pada kolom komentar. Semoga bermanfaat.

Share This :
MetaXploit

Adalah seorang web designer yang suka mempelajari hal-hal yang baru seputar blog, template, coding dan Bisnis Online. Untuk mempelajari hal baru, membutuhkan kesabaran dan ketelitian dalam mempelajarinya.