Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Encoding String dengan Base64 dengan Key

Posted on February 8, 2010

Base64 mungkin adalah salah satu basis algoritma enkripsi yang dasar untuk digunakan dan mudah dipahami. Teorinya, kumpulan karakter ASCII yang ada diterjemahkan ke dalam format representasi radix-64 (lebih jelas). Di PHP, enkripsi Base64 sudah didukung secara native lewat berbagai fungsi.

Untuk mengenkripsi sebuah string dengan enkripsi Base64 di PHP misalnya:

[sourcecode language=”php”]
<?php
$stringawal = "enkripsi saya dong";
$hasilenkripsi = base64_encode($stringawal); // enkripsi $stringawal dg metode base64
?>
[/sourcecode]

Sedangkan untuk dekripsinya juga mudah:
[sourcecode language=”php”]
<?php
$stringterenkripsi = "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz
IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg
dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu
dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo
ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=";
$hasildekripsi = base64_decode($stringterenkripsi);
echo $hasildekripsi;
?>
[/sourcecode]

Algoritma Base64 sendiri merupakan salah satu algoritma enkripsi yang sudah dipecahkan lama, sehingga kurang begitu aman dipakai. Untuk itulah perlu ada trik tersendiri untuk mengatasinya, misalnya dengan menggunakan key enkripsi. Untuk itu kita harus memperluas fungsi yang ada/native itu dengan selera sendiri. Berikut contohnya:
[sourcecode language=”php”]
<?php

// fungsi enkripsi base64 dengan key
function base64_encrypt($plain_text, $password, $iv_len = 16)
{
$plain_text .= "\x13";
$n = strlen($plain_text);
if ($n % 16) $plain_text .= str_repeat("\0", 16 – ($n % 16));
$i = 0;
$enc_text = get_rnd_iv($iv_len);
$iv = substr($password ^ $enc_text, 0, 512);
while ($i < $n) {
$block = substr($plain_text, $i, 16) ^ pack(‘H*’, md5($iv));
$enc_text .= $block;
$iv = substr($block . $iv, 0, 512) ^ $password;
$i += 16;
}
$hasil=base64_encode($enc_text);
return str_replace(‘+’, ‘@’, $hasil);
}

// fungsi base64 decrypt
// untuk mendekripsi string base64
function base64_decrypt($enc_text, $password, $iv_len = 16)
{
$enc_text = str_replace(‘@’, ‘+’, $enc_text);
$enc_text = base64_decode($enc_text);
$n = strlen($enc_text);
$i = $iv_len;
$plain_text = ”;
$iv = substr($password ^ substr($enc_text, 0, $iv_len), 0, 512);
while ($i < $n) {
$block = substr($enc_text, $i, 16);
$plain_text .= $block ^ pack(‘H*’, md5($iv));
$iv = substr($block . $iv, 0, 512) ^ $password;
$i += 16;
}
return preg_replace(‘/\\x13\\x00*$/’, ”, $plain_text);
}

function get_rnd_iv($iv_len)
{
$iv = ”;
while ($iv_len– > 0) {
$iv .= chr(mt_rand() & 0xff);
}
return $iv;
}

#### Penggunaan
$key = "ini key rahasia loh";
$stringawal = "coba coba";

// enkripsi dengan fungsi base64_encrypt
$stringterenkripsi = base64_encrypt($stringawal,$key);
echo $stringterenkripsi;

// dekripsi dengan base64_decrypt
$stringdekripsi = base64_decrypt($stringterenkripsi,$key);
echo $stringdekripsi;

?>
[/sourcecode]

Enkripsi base64 dengan key ini cukup aman untuk digunakan selama key tidak diketahui. Sering-seringlah ganti key enkripsi, atau gunakan kombinasi key dengan tanggal/waktu hari ini.

Selamat mencoba!

Terbaru

  • Mau Tarik Saldo Rp700 Ribu di Free Drama tapi Stuck? Ini Cara Cepat Tembus Level 30!
  • Belum Tahu? Ini Trik Checkout Tokopedia Bayar Pakai Dana Cicil Tanpa Ribet!
  • Benarkah Pinjol Akulaku Sebar Data Jika Gagal Bayar?
  • Paket Nyangkut di CRN Gateway J&T? Tidak Tahu Lokasinya? Ini Cara Mencarinya!
  • Apa itu Nomor 14055? Nomor Call Center Apa? Ini Penjelasan Lengkapnya
  • Apakah APK Lumbung Dana Penipu & Punya Debt Collector?
  • Ini Ukuran F4 dalam Aplikasi Canva
  • Cara Lapor SPT Tahunan Badan Perdagangan di Coretax 2026
  • Cara Dapetin Saldo DANA Sambil Tidur Lewat Volcano Crash, Terbukti Membayar!
  • Apakah Aplikasi Pinjaman TrustIQ Penipu/Resmi OJK?
  • Cara Menggabungkan Bukti Potong Suami-Istri di Coretax 2026
  • Inilah Cara Cepat Upload Foto Peserta TKA Sekaligus Biar Nggak Perlu Klik Satu Per Satu
  • Apa itu Aplikasi MOVA, Penipuan atau Skema Ponzi Berkedok Aplikasi Belanja?
  • Inilah Cara Menarik Saldo ReelFlick ke DANA
  • Inilah Cara Ternak Akun Mining Bitcoin Pakai Virtual Master Biar Nggak Berat dan Tetap Lancar
  • Cara Mencairkan Koin Melolo Tanpa Invite Kode
  • Cara Mencairkan Saldo Game Sumatra The Island ke e-Wallet
  • Apakah Aplikasi Pinjol AksesDana Penipu/Resmi OJK?
  • Apakah Aplikasi RupiahMaju Pinjol Penipu/Legal?
  • Apakah Aplikasi MBA Itu Ponzi/Penipuan Atau Tidak?
  • Cara Menghilangkan Iklan dari Aplikasi Melolo
  • Cara Atasi Saldo Melolo yang Gagal Cair ke Dompet Digital
  • Cara Mengatasi Kode Undangan/Invite Code Melolo Tidak Berhasil
  • Apakah Aplikasi FreeReels Penipuan?
  • Gini Caranya Nonton Drama Pendek FreeReels dan Dibayar
  • Inilah Panduan Lengkap Persiapan TKA Madrasah 2026 Biar Nggak Ketinggalan!
  • Ini Trik Supaya Gelembung Game Clear Blast Cepat Pecah dan Bisa Withdraw!
  • Cara Main Game Gold Combo, Sampai Cuan ke e-Wallet
  • Update YouTube 2026:Sekilas Tentang Inauthentic Content yang Makin Ketat
  • Inilah Cara Lapor SPT Tahunan di Coretax 2026 Biar Nggak Bingung!
  • How to Secure Your Moltbot (ClawdBot): Security Hardening Fixes for Beginners
  • Workflows++: Open-source Tool to Automate Coding
  • MiroThinker-v1.5-30B Model Explained: Smart AI That Actually Thinks Before It Speaks
  • PentestAgent: Open-source AI Agent Framework for Blackbox Security Testing & Pentest
  • TastyIgniter: Open-source Online Restaurant System
  • Cara Membuat Agen AI Otomatis untuk Laporan ESG dengan Python dan LangChain
  • Cara Membuat Pipeline RAG dengan Framework AutoRAG
  • Contoh Sourcecode OpenAI GPT-3.5 sampai GPT-5
  • Cara Mengubah Model Machine Learning Jadi API dengan FastAPI dan Docker
  • Cara Ubah Tumpukan Invoice Jadi Data JSON dengan LlamaExtract
  • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
  • Apa Itu Predator Spyware? Ini Pengertian dan Kontroversi Penghapusan Sanksinya
  • Mengenal Apa itu TONESHELL: Backdoor Berbahaya dari Kelompok Mustang Panda
  • Siapa itu Kelompok Hacker Silver Fox?
  • Apa itu CVE-2025-52691 SmarterMail? Celah Keamanan Paling Berbahaya Tahun 2025
Beli Pemotong Rumput dengan Baterai IRONHOOF 588V Mesin Potong Rumput 88V disini https://s.shopee.co.id/70DBGTHtuJ
Beli Morning Star Kursi Gaming/Kantor disini: https://s.shopee.co.id/805iTUOPRV

©2026 emka.web.id | Design: Newspaperly WordPress Theme