Base64

Dipublikasikan: 11 Desember 2025

Terakhir diperbarui: 11 Desember 2025

Raymond Kelvin Nando — Base64 merupakan salah satu teknik encoding paling terkenal dan paling banyak digunakan di dunia komputasi modern. Metode ini mengonversi data biner menjadi representasi teks menggunakan 64 karakter yang aman untuk ditransmisikan melalui protokol berbasis teks. Base64 digunakan secara luas dalam email (MIME), HTTP, JSON, XML, penyimpanan token autentikasi, sertifikat digital, data URI, dan berbagai sistem yang membutuhkan cara standar untuk merepresentasikan data biner dalam bentuk karakter ASCII. Popularitas Base64 datang dari sifatnya yang stabil, interoperabel, lintas platform, mendukung sistem lama, dan tetap mudah digunakan dalam berbagai skenario perangkat lunak dan komunikasi.

Pengertian Base64

Base64 adalah teknik encoding yang mengubah data biner menjadi rangkaian karakter ASCII menggunakan 64 simbol dalam alfabet standar:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

Setiap 3 byte input (24 bit) dipecah menjadi 4 kelompok 6-bit sehingga dapat dipetakan ke 64 karakter tersebut. Bila jumlah byte tidak habis dibagi 3, Base64 menambahkan padding karakter “=” untuk menandai sisa data.

Base64 bukanlah metode kompresi ataupun enkripsi. Fungsinya adalah transport encoding — cara aman untuk memindahkan data biner melalui protokol yang hanya mendukung karakter teks. Karena sifatnya ini, Base64 menjadi fondasi dalam banyak protokol dan format data internet.

Orang lain juga membaca :  A-XDR

Sejarah Perkembangan Base64

Base64 pertama kali dikembangkan sebagai bagian dari spesifikasi MIME (Multipurpose Internet Mail Extensions) pada awal 1990-an oleh internet engineering community. Pada masa itu, sistem email lama hanya mendukung ASCII 7-bit sehingga file biner seperti gambar, dokumen, dan lampiran harus dikonversi menjadi format teks.

RFC 1421 dan RFC 1521 menjadi dasar popularisasi teknik Base64 sebagai encoding standar untuk:

  • Lampiran email
  • Sertifikat digital X.509
  • Data biner dalam protokol HTTP
  • Representasi pesan biner pada protokol teks

Seiring berkembangnya internet, Base64 meluas ke berbagai domain seperti:

  • JSON Web Tokens (JWT)
  • OAuth dan OpenID Connect
  • Data URI dalam HTML dan CSS
  • Kode QR
  • Penyimpanan binary blob dalam database teks
  • Representasi bytecode dalam sistem scripting

Standar resmi modern Base64 didefinisikan dalam RFC 4648.

Prinsip Dasar, dan Metode Base64

1. Struktur Dasar Encoding

Base64 memproses data dalam grup 3 byte (24 bit):
AAAA AAAA BBBB BBBB CCCC CCCC
→ dipecah menjadi 4 grup 6 bit:
xx xxxx xx xxxx xx xxxx xx xxxx

Setiap 6 bit dipetakan ke karakter dalam alfabet Base64.

2. Alfabet Base64 Standar

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

Total 64 karakter.

3. Padding (=)

Jika input tidak habis dibagi 3 byte:

  • Sisa 1 byte → 2 karakter Base64 + “==”
  • Sisa 2 byte → 3 karakter Base64 + “=”

Padding memastikan bahwa output tetap dapat di-decode secara deterministik.

4. Tidak Mengandung Karakter Berbahaya

Base64 aman untuk protokol berbasis teks karena hanya menggunakan karakter huruf, angka, dan dua simbol (+ dan /).

5. Varian Base64

Beberapa varian terkenal:

  • Base64 Standard (RFC 4648)
  • Base64URL (mengganti + → -, / → _)
  • Base64 MIME (wrap per 76 karakter)
  • Base64 PEM (sertifikat)
Orang lain juga membaca :  ASN.1 BER

Varian ini dibuat untuk konteks berbeda, seperti URL, email, dan sertifikat kripto.

6. Dekoding

Dekoding Base64 mengumpulkan 4 karakter Base64 (24 bit) → dikemas kembali menjadi 3 byte biner.

7. Efisiensi Ukuran

Base64 menambah ukuran data:

  • 3 byte menjadi 4 karakter → kenaikan sekitar 33%

Meskipun bertambah besar, encoding ini menjadi standar interoperabilitas global.

Contoh Input → Output Base64

Contoh 1: Teks “A”

Input byte:
41
Binary:
01000001
Dikelompokkan menjadi 6 bit:
010000 01xxxx
Tambahkan padding → total 2 karakter + “==”
Base64:
QQ==

Contoh 2: “Hi”

Byte:
48 69
Binary → 16 bit
Base64:
SGk=

Contoh 3: “Hello”

Bytes: 48 65 6C 6C 6F
Base64:
SGVsbG8=

Contoh 4: Data biner acak

Bytes:
01 02 03
Base64:
AQID

Contoh 5: Gambar kecil (representatif)

Bytes (3 bytes pertama PNG):
89 50 4E
Base64:
iVBQ

Contoh 6: JSON dalam Base64

{“name”: “Alice”}
Base64:
eyJuYW1lIjogIkFsaWNlIn0=

Contoh 7: Data URI gambar

Input: PNG file biner
Output Base64 digunakan sebagai:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA…

Kelebihan & Kekurangan Base64

Kelebihan:

  • Sangat mudah diimplementasikan.
  • Standar internasional (RFC 4648).
  • Interoperabel lintas sistem, bahasa, dan platform.
  • Aman untuk protokol teks seperti email, JSON, XML, atau HTTP.
  • Tidak merusak byte data.
  • Banyak digunakan dalam protokol autentikasi modern (JWT, OAuth).
  • Dapat digunakan dalam data URI.
  • Tidak sensitif terhadap encoding karakter sistem.

Kekurangan:

  • Ukuran data membengkak 33%.
  • Tidak menyediakan kompresi.
  • Tidak memberikan keamanan kriptografis.
  • Mengandung karakter + dan / yang merepotkan pada URL (variannya Base64URL mengatasi masalah ini).
  • Tidak mendeteksi kesalahan input.
  • Membutuhkan padding tambahan.
  • Implementasi tertentu butuh line-wrapping (misalnya MIME).

Referensi

  • RFC 4648: The Base16, Base32, and Base64 Data Encodings.
  • Klensin, J. (2021). Internet Email Architecture.
  • Bernstein, D. J. Secure data representation notes.
  • OpenSSL Documentation — Base64 Encoding.
  • MIME Specification — Internet Engineering Task Force.
Orang lain juga membaca :  Binary Coded Symbol (BCS)

Citation

Previous Article

Base62

Next Article

Base85/Z85

Citation copied!