Base32

Dipublikasikan: 11 Desember 2025

Terakhir diperbarui: 11 Desember 2025

Raymond Kelvin Nando — Base32 merupakan metode encoding biner-ke-teks yang memetakan data ke dalam 32 simbol karakter yang aman untuk sistem file, URL, protokol jaringan, dan berbagai mekanisme transport modern. Base32 dirancang agar lebih efisien dibanding Base16 namun tetap lebih mudah dibaca manusia dibanding Base64. Dengan daya tahan terhadap kesalahan visual, kejelasan karakter, dan kompatibilitas lintas platform, Base32 menjadi salah satu metode encoding yang paling banyak digunakan di sistem autentikasi, penyimpanan konfigurasi, dan serialisasi data.

Pengertian Base32

Base32 adalah skema encoding yang mengonversi data biner ke dalam rangkaian karakter teks menggunakan alfabet 32 simbol. Standar yang paling umum, sebagaimana didefinisikan dalam RFC 4648, menggunakan set karakter berikut:
A–Z (26 karakter)
2–7 (6 karakter)

Dengan demikian, total 32 karakter dipakai untuk mewakili kelompok data sebesar 5 bit. Data input diambil dalam blok 40 bit (5 byte), kemudian dipetakan menjadi 8 output Base32 karakter. Jika ukuran data tidak genap, padding menggunakan karakter “=” ditambahkan untuk menjaga keselarasan blok. Base32 memberikan keseimbangan antara keterbacaan dan efisiensi sehingga ideal untuk sistem yang tidak toleran terhadap karakter ambigu.

Sejarah Perkembangan Base32

Base32 mulai populer pada awal perkembangan internet modern ketika para pengembang membutuhkan metode encoding yang aman untuk sistem berbasis teks namun lebih efisien daripada Base16. Sebelum kemunculan standarisasi, berbagai varian Base32 telah digunakan secara tidak resmi di sistem tertentu—seperti encoding kunci PGP, format hashing UNIX, dan mekanisme identifikasi internal berbagai perangkat jaringan.

Orang lain juga membaca :  ASN.1 CER

Pada tahun 2006, Internet Engineering Task Force (IETF) memperkenalkan Base32 dalam RFC 4648, yang sekaligus menetapkan standar global untuk Base16, Base32, Base64, dan Base64URL. Setelah standardisasi tersebut, Base32 digunakan luas dalam berbagai teknologi, termasuk Google Authenticator (TOTP), DNS (dalam mekanisme hashing dan encoding nama), protokol git, hingga berbagai platform cloud untuk identitas objek. Kejelasan alfabet dan ketahanannya terhadap kesalahan baca menjadikannya favorit dalam dunia sistem keamanan dan otentikasi.

Prinsip Dasar, dan Metode Base32

Base32 bekerja dengan mengelompokkan data biner menjadi blok-blok yang dapat dipetakan ke 5-bit unit.

1. Unit Encoding 5-bit

Setiap karakter Base32 mewakili 5 bit.
Contoh:
00000 → A
00001 → B
11111 → 7

2. Blok Encoding 40-bit

5 byte biner (40 bit) dipetakan menjadi 8 karakter Base32.

3. Padding

Jika data tidak kelipatan 5 byte, padding “=” digunakan:
1 byte → 2 padding
2 byte → 4 padding
3 byte → 3 padding
4 byte → 1 padding

4. Alfabet Aman Visually

Base32 menghindari karakter ambigu seperti:
0 (angka nol)
1 (angka satu)
O (huruf O besar)
L (huruf L besar)

5. Case-insensitive

Decoder Base32 harus menerima huruf kecil maupun besar.

6. Deterministik dan Reversible

Dalam kondisi normal, Base32 selalu bisa didekode ulang ke data asli tanpa kehilangan bit.

7. Cocok Untuk Sistem Teks Ketat

Banyak protokol, filesystem, dan bahasa tidak mengizinkan karakter seperti “/+” pada Base64 sehingga Base32 menjadi pilihan aman.

8. Keamanan

Base32 bukan enkripsi. Base32 hanya memetakan biner ke teks yang mudah diserialisasi.

Contoh Input → Output Base32

Contoh 1: String sederhana

Input: hi
ASCII bytes: 68 69 (hex)
Bit: 01101000 01101001
Output Base32: NRSQ====

Contoh 2: Kata

Input: OK
O = 4F
K = 4B
Output Base32: IFBE====

Orang lain juga membaca :  A-XDR

Contoh 3: Biner acak

Input bytes: F0 A4 10
Bit: 11110000 10100100 00010000
Output Base32: 7JIQ====

Contoh 4: URL-safe identifier

Input: 0102030405
Output Base32: AEBAGBAF

Contoh 5: Token TOTP (Google Authenticator)

Secret Base32: JBSWY3DPEHPK3PXP
Decode menghasilkan 10-byte secret.

Contoh 6: UUID

UUID biner 16 byte ketika di-encode Base32 menghasilkan string 26–32 karakter tergantung format.

Contoh 7: Decoding

Input: IFBEGRCF
Output bytes: 48 65 6C 6C 6F
Output teks: Hello

Kelebihan & Kekurangan Base32

Kelebihan:

  • Lebih efisien daripada Base16 (40% lebih padat).
  • Alfabet mudah dibaca dan tidak ambigu.
  • Ideal untuk sistem autentikasi (TOTP/OTP).
  • Banyak tersedia di bahasa pemrograman modern.
  • Mudah diketik dan dibacakan secara verbal.
  • Aman digunakan di URL, DNS, dan nama file.
  • Konsisten berkat standar RFC 4648.

Kekurangan:

  • Menggunakan padding “=” yang kadang tidak kompatibel di beberapa sistem.
  • Ukuran output lebih panjang daripada Base64.
  • Tidak sepadat Base58 atau Base62 untuk identitas pendek.
  • Tidak aman secara kriptografi.
  • Encoding dan decoding sedikit lebih kompleks dibanding Base16.
  • Output cenderung lebih panjang untuk data kecil.
  • Tidak sepopuler Base64 sehingga beberapa sistem tidak mendukungnya secara default.

Referensi

  • Josefsson, S. (2006). The Base16, Base32, and Base64 Data Encodings. RFC 4648.
  • Menezes, A., van Oorschot, P., & Vanstone, S. (2018). Handbook of Applied Cryptography.
  • Tanenbaum, A. (2015). Modern Operating Systems.
  • Perrin, T. (2010). HOTP/TOTP Mechanisms Analysis.
  • Microsoft. (2021). Base32 Encoding Documentation.

Citation

Previous Article

Base16

Next Article

Base36

Citation copied!