Codificador / Decodificador Base58
Codifique texto em Base58 ou decodifique strings Base58. Usado em endereços Bitcoin e CIDs IPFS.
Sobre esta ferramenta
Base58 é um esquema de codificação de binário para texto que converte dados crudos em uma cadeia legível para humanos usando 58 caracteres alfanuméricos. Diferentemente de Base64, que inclui símbolos que podem ser confundidos ou problemáticos em URLs e endereços, Base58 remove caracteres como 0 (zero), O (O maiúscula), I (I maiúscula) e l (l minúscula) para evitar ambiguidade visual. Esta codificação é amplamente reconhecida por proteger endereços de criptomoedas—especialmente Bitcoin—e por codificar identificadores de conteúdo no IPFS, o Sistema de Arquivos Interplanetário.
Para usar este codificador, cole seu texto ou dados crudos no campo de entrada e clique no botão de codificar para gerar uma cadeia Base58. Para decodificar, simplesmente cole uma cadeia Base58 válida e clique em decodificar para recuperar os dados originais. A ferramenta funciona completamente em seu navegador, processando todas as conversões instantaneamente sem enviar nada para servidores externos. Isto é particularmente útil para desenvolvedores trabalhando com dados de blockchain, sistemas endereçados por conteúdo, ou qualquer aplicação que necessite verificar endereços de Bitcoin, hashes de IPFS ou outros identificadores criptográficos.
A codificação Base58 é especialmente valiosa em criptomoedas e aplicações descentralizadas porque reduz erros de transcrição ao compartilhar endereços manualmente ou através de carteiras de papel. A remoção de caracteres visualmente semelhantes torna os endereços Base58 muito mais fáceis de ler e verificar a olho nu em comparação com Base64. Seja você um desenvolvedor de blockchain, um administrador de sistemas gerenciando nós IPFS, ou simplesmente alguém curioso sobre como os endereços de Bitcoin são codificados, esta ferramenta torna a codificação e decodificação de Base58 transparente e acessível.
Perguntas Frequentes
Implementação de Código
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.