Encoder dan Decoder Base32

Base32 merepresentasikan data biner memakai 32 karakter - digit 2-7 dan 26 huruf uppercase, tanpa 0/O atau 1/I agar tidak salah baca. Itu membuatnya ideal untuk apa pun yang harus diketik atau dibacakan manusia: secret TOTP two-factor, kode voucher, identifier case-insensitive. Tool ini meng-encode biner atau teks ke Base32 dan mendecode kembali, mengikuti RFC 4648 dengan padding opsional.

Cara encode atau decode Base32

  1. 1

    Tempel teks atau upload file

    Input diperlakukan sebagai byte. UTF-8 adalah interpretasi default untuk input teks.

  2. 2

    Pilih arah

    Encode untuk mengubah byte mentah menjadi string Base32; decode untuk memulihkan byte.

  3. 3

    Konfigurasikan padding

    RFC 4648 menentukan padding `=` hingga panjang kelipatan 8. Matikan untuk secret TOTP dan token ringkas.

  4. 4

    Salin hasil

    Output encoded berupa uppercase, dengan atau tanpa padding sesuai pengaturan Anda.

Alfabet RFC 4648

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 2 3 4 5 6 7

Tidak ada 0, tidak ada 1, tidak ada 8, tidak ada 9. Setiap karakter meng-encode 5 bit (2^5 = 32), sehingga 5 byte input menjadi 8 karakter output.

Contoh kerja

Meng-encode string ASCII foo (byte 0x66 0x6F 0x6F = 01100110 01101111 01101111):

  1. Bagi menjadi grup 5-bit: 01100 11001 10111 10110 1111 (grup terakhir diberi padding)
  2. Petakan ke alfabet: M Z X W 6
  3. Tambahkan padding === agar mencapai 8 karakter: MZXW6===

Aturan padding dan panjang

Byte input Panjang output Padding
1 8 ======
2 8 ====
3 8 ===
4 8 =
5 8 (tidak ada)

Varian di luar RFC 4648

  • Base32 Hex - Alfabet 0-9A-V, digunakan oleh NSEC3 dalam DNSSEC.
  • Crockford's Base32 - Alfabet yang dioptimalkan untuk pengetikan manusia; mengganti O0, I/L1 saat decode. Digunakan oleh ULID dan beberapa license key.

Tool ini default ke RFC 4648 standar.

Secret TOTP

Format URI otpauth:// yang digunakan Google Authenticator dan setiap aplikasi 2FA modern meng-encode shared secret dalam Base32 tanpa padding. Saat Anda scan QR untuk “My Service”, parameter secret= adalah string Base32. Decode dengan tool ini untuk memeriksa byte mentah yang digunakan HMAC.

Pertanyaan yang Sering Diajukan

Base32 case-insensitive dan menghindari karakter yang mirip, penting untuk apa pun yang dibaca atau diketik manusia. Base64 lebih padat (lebih sedikit karakter untuk byte yang sama) tetapi menuntut Anda membedakan I dari l dan 0 dari O, yang mudah gagal dalam tulisan tangan dan cetakan kecil.

RFC 4648 mengatakan ya, tetapi sebagian besar konsumen nyata (aplikasi TOTP, library ULID, resolver DNSSEC) menerima input tanpa padding. Tool ini membiarkan Anda memilih; tempel bentuk mana pun dan decode seharusnya bekerja.

Base32 standar tidak punya 0, 1, 8, atau 9 dan selalu uppercase. Jika input Anda punya karakter itu, mungkin varian Crockford atau base32hex, bukan RFC 4648. Bersihkan input atau pilih varian yang benar.

Tidak. Encoding dan decoding terjadi di browser. Baik input maupun hasil tidak meninggalkan mesin Anda.

Alat Terkait