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

  • 08559 Nomor Daerah Mana dan Kartu Apa? Ini Penjelasan Lengkapnya!
  • Ini Daftar 8 Keluarga Paling Mengerikan dalam Sejarah, Ada yang Sampai Bikin Dunia Gemetar!
  • Inilah Trik Rahasia Pindahkan Video Melolo ke Galeri Tanpa Aplikasi Tambahan
  • Ini Arti Kode Transaksi Bank ‘Kor MCD Transaction DB Otomatis’
  • Update Terbaru Januari 2026! Ini Trik Kode Plant Brainrot Simulator Biar Garden Kalian Makin OP
  • Belum Tahu? Inilah Asal Nomor Telepon 021 300 yang Sering Ganggu Kalian!
  • Bingung Menu Multi Payment Livin Mandiri Hilang? Inilah Cara Bayar Tagihan Apapun dengan Mudah!
  • Cara Nonton Anime di Anoboy dan Gabung Komunitas Discord Official Anoboy
  • Inilah Cara Nonton dan Link Website Anime Samehadaku Terbaru yang Paling Update!
  • Inilah Cara Kerja APK Sumber Dana, Penipuan atau Tidak?
  • Apakah Aplikasi Nonton Drama ReelFlick Penipuan?
  • Inilah Fakta di Balik Isu Video Blunder Risaatjan yang Viral di Media Sosial
  • Menu Hadiah Melolo Hilang Tiba-Tiba? Jangan Panik, Ini Trik Ampuh Mengatasinya!
  • CCTV Kematian Lula Lahfah?
  • Inilah Kronologi Meninggalnya Lula Lahfah
  • Cara Login SP Datadik Terbaru Biar Kerja Operator Sekolah Makin Sat-set!
  • Ketemu Link Video Viral ‘Petualangan Ustadzah Rahma’? Hati-hati, Kamu Bisa Dihack
  • Ikon Mic Roblox Hilang? Gini Caranya Mengaktifkan Kembali Voice Chat Biar Bisa Mabar Lagi!
  • Ini Cara Hapus Rombel Ganda di EMIS 4.0 yang Nggak Muncul Tombol Hapus
  • Inilah Kenapa Data Info GTK Kalian Nggak Berubah Padahal Dapodik Udah Sinkron
  • Belum Tahu CoreTax? Ini Trik Supaya Affiliator Lancar Lapor SPT Tahunan 2025 Tanpa Ribet
  • Inilah Cara Pendaftaran Peserta TKA SD dan SMP yang Benar Biar Nggak Salah Langkah!
  • Gagal Sinkron Dapodik 2026 C? Ini Trik Lengkap Supaya Berhasil Tanpa Pusing!
  • Cara Download Bukti Potong BPA1 di CoreTax, Nggak Perlu Ribet Minta HRD Lagi!
  • Cara Lapor SPT Tahunan di CoreTax Buat Pekerjaan Bebas, Ternyata Nggak Ribet Kalau Tahu Triknya!
  • Cara Beresin Siswa Tidak Teridentifikasi dan Rombel Ganda di EMIS 4.0
  • Cara Usul PIP di Dapodik 2026.B Biar Peserta Didik Kalian Dapat Bantuan!
  • Inilah Cara Awal Mengelola Web TKA Biar Nggak Pusing Pas Pelaksanaan!
  • Inilah Cara Mengatasi Masalah Jam Mengajar di InfoGTK Biar Cepat Valid!
  • Cara Atasi Residu Verval PD yang Tetap Muncul Padahal Sudah Hijau, Operator Sekolah Wajib Tahu!
  • The Secret “Niche Bending” Trick To Go Viral On YouTube, January 2026
  • Stuck on TikTok Affiliate? Here Is Why You Should Start a New Account
  • 7 Popular Side Hustles Ranked from Worst to Best
  • $10,000 Mac Studio vs Cloud AI: Who Actually Codes Better?
  • SLM, LLM, and Frontier Models Explained
  • Cara Ubah Tumpukan Invoice Jadi Data JSON dengan LlamaExtract
  • Cara Buat Audio Super Realistis dengan Qwen3-TTS-Flash
  • Tutorial Python Deepseek Math v2
  • Cara Menggunakan SAM3D untuk Segmentasi dan Pembuatan Model 3D dari Teks
  • Cara Membuat AI Agent Super Cerdas dengan DeepAgents dan LangGraph
  • 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
  • Apa Itu ErrTraffic? Mengenal Platform ClickFix yang Bikin Website Jadi ‘Error’ Palsu
Beli Morning Star Kursi Gaming/Kantor disini: https://s.shopee.co.id/805iTUOPRV
Beli Pemotong Rumput dengan Baterai IRONHOOF 588V Mesin Potong Rumput 88V disini https://s.shopee.co.id/70DBGTHtuJ

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