Encoder / Decoder Base58
Enkode teks ke Base58 atau dekode string Base58. Digunakan dalam alamat Bitcoin dan CID IPFS.
Tentang alat ini
Base58 adalah skema pengkodean biner ke teks yang mengonversi data mentah menjadi string yang dapat dibaca manusia menggunakan 58 karakter alfanumerik. Tidak seperti Base64, yang menyertakan simbol yang dapat membingungkan atau bermasalah di URL dan alamat, Base58 menghapus karakter seperti 0 (nol), O (huruf besar O), I (huruf besar I), dan l (huruf kecil l) untuk menghindari ambiguitas visual. Pengkodean ini banyak dikenal karena mengamankan alamat cryptocurrency—terutama Bitcoin—dan untuk mengkodekan pengenal konten di IPFS, Sistem File Interplanetaris.
Untuk menggunakan pengkode ini, tempel teks atau data mentah Anda di bidang input dan klik tombol encode untuk menghasilkan string Base58. Untuk mendekode, cukup tempel string Base58 yang valid dan klik decode untuk memulihkan data asli. Alat ini bekerja sepenuhnya di browser Anda, memproses semua konversi secara instan tanpa mengirim apa pun ke server eksternal. Ini sangat berguna bagi pengembang yang bekerja dengan data blockchain, sistem yang ditangani konten, atau aplikasi apa pun yang perlu memverifikasi alamat Bitcoin, hash IPFS, atau pengenal kriptografi lainnya.
Pengkodean Base58 sangat berharga dalam cryptocurrency dan aplikasi terdesentralisasi karena mengurangi kesalahan transkripsi saat berbagi alamat secara manual atau melalui dompet kertas. Penghapusan karakter yang mirip secara visual membuat alamat Base58 jauh lebih mudah dibaca dan diverifikasi oleh mata dibandingkan dengan Base64. Baik Anda pengembang blockchain, administrator sistem yang mengelola node IPFS, atau sekadar orang yang penasaran tentang bagaimana alamat Bitcoin dikodekan, alat ini membuat pengkodean dan penguraian Base58 menjadi transparan dan dapat diakses.
Pertanyaan yang Sering Diajukan
Implementasi Kode
import base58 # pip install base58
# Encode text to Base58
text = "Hello, World!"
encoded = base58.b58encode(text.encode()).decode()
print(encoded) # JxF12TrwUP45BMd
# Decode Base58 back to text
decoded = base58.b58decode(encoded).decode()
print(decoded) # Hello, World!
# Manual implementation without library
ALPHABET = b"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
def encode(data: bytes) -> str:
num = int.from_bytes(data, "big")
result = b""
while num > 0:
num, rem = divmod(num, 58)
result = bytes([ALPHABET[rem]]) + result
pad = len(data) - len(data.lstrip(b"\x00"))
return (b"1" * pad + result).decode()Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.