Base64 membawa byte sebagai teks, bukan menyembunyikan rahasia
Base64 berguna ketika saluran teks harus membawa data byte. Ia mengubah representasi, bukan siapa yang dapat memahaminya, dan tidak menjamin ukuran lebih kecil.
Hitung byte sebelum huruf
Base64 standar dengan pengisi mewakili setiap 3 byte dengan 4 karakter dan melengkapi grup terakhir dengan = bila perlu. Bagi jumlah byte dengan 3, bulatkan ke atas, lalu kalikan 4 untuk panjangnya.
Satu karakter dapat memakai lebih dari 1 byte UTF-8. Teks Arab pendek dapat menghasilkan lebih banyak karakter terkode daripada teks Latin dengan jumlah huruf sama.
Referensi: RFC 4648 — Base encodings, padding and security considerations
Pengodean bukan kerahasiaan
Pemegang nilai biasanya dapat mendekode tanpa kunci rahasia. Jangan memakai Base64 untuk melindungi sandi atau menyembunyikan informasi di tautan bersama.
Perlakukan hasil sama sensitifnya dengan sumber. Mencegah orang membaca perlu mekanisme keamanan yang sesuai, bukan hanya mengganti representasi teks.
Referensi: RFC 4648 — Base encodings, padding and security considerations
Kenali isi byte yang diharapkan
Alat ini mengodekan teks sebagai UTF-8 dan mendekode menjadi teks UTF-8 yang valid. Gambar terkode bisa sah sebagai Base64 tetapi tidak cocok untuk dekoder teks ini.
Varian base64url pada beberapa tautan berbeda dari Base64 standar. Jangan menambah atau menghapus karakter acak agar diterima; pastikan varian yang diharapkan sumber.
Referensi: RFC 4648 — Base encodings, padding and security considerations
Contoh: jumlah huruf bukan penentu ukuran terkode
Hi! memakai 3 byte UTF-8 dan menjadi SGkh: 4 karakter tanpa pengisi. Dekode mengembalikan teks sama tanpa sandi.
Kata Arab مرحبا memiliki 5 huruf tetapi 10 byte UTF-8. Kodenya 2YXYsdit2KjYpw== sepanjang 16 karakter. Ukuran mengikuti byte; 2 tanda = tidak berarti 2 huruf sumber dihapus.