Encoder/Decoder Base32
Mengkodekan dan mendekodekan teks menggunakan Base32.
Tentang alat ini
Base32 adalah skema pengkodean biner-ke-teks yang mengubah data mentah menjadi alfabet 32 karakter (A-Z dan 2-7), memungkinkan informasi biner ditransmisikan dengan aman melalui sistem berbasis teks. Berbeda dengan Base64 yang lebih ringkas, Base32 memprioritaskan ketahanan dan keterbacaan. Kumpulan karakternya yang terbatas menghindari kebingungan antara huruf yang mirip (seperti 'O' dan '0') dan berfungsi dengan andal di berbagai pengkodean karakter. Base32 sangat berharga dalam sistem autentikasi (token TOTP untuk autentikasi dua faktor), file zona DNS, sistem penamaan file, dan di mana pun representasi data yang aman dan jelas sangat penting.
Untuk menggunakan alat ini, tempel atau ketik data Anda di bidang input dan pilih 'Enkode' untuk mengonversi teks mentah atau data biner ke format Base32, atau 'Dekode' untuk mengonversi teks yang dikodekan Base32 kembali ke bentuk aslinya. Alat menangani input teks dan biner dengan lancar, secara otomatis memproses data dan menampilkan hasilnya secara instan. Kasus penggunaan umum termasuk menghasilkan atau memverifikasi kode autentikasi dua faktor, menyematkan data dengan aman di URL, mengonversi file biner untuk penyimpanan atau transmisi, dan memastikan integritas data saat memindahkan informasi antara sistem dengan dukungan karakter berbeda.
Keuntungan Base32 dibandingkan pengkodean lainnya adalah ketidaksensitifannya terhadap huruf besar-kecil—versi huruf besar dan huruf kecil didekode secara identik, mengurangi kesalahan transkripsi dalam entri manual. Pengkodean memperluas ukuran data sekitar 60%, yang lebih besar dari Base64 tetapi masih dapat dikelola untuk sebagian besar aplikasi. Jika Anda bekerja dengan aplikasi autentikasi, mendistribusikan kode QR dengan data terenkode, atau memerlukan pengkodean ramah pengguna yang meminimalkan ambiguitas, Base32 sering kali merupakan pilihan ideal.
Pertanyaan yang Sering Diajukan
Implementasi Kode
import base64
# Encode bytes to Base32
data = b"Hello, World!"
encoded = base64.b32encode(data).decode()
print("Encoded:", encoded) # JBSWY3DPEB3W64TMMQ======
# Decode Base32 back to bytes
decoded = base64.b32decode(encoded)
print("Decoded:", decoded.decode()) # Hello, World!
# Base32 for TOTP secret generation
import os
totp_secret = base64.b32encode(os.urandom(20)).decode().rstrip("=")
print("TOTP Secret:", totp_secret) # e.g. JBSWY3DPEB3W64TM
# Decode without padding (common in authenticator apps)
def b32decode_nopad(s: str) -> bytes:
pad = (8 - len(s) % 8) % 8
return base64.b32decode(s.upper() + "=" * pad)Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.