Saltar al contenido
🛠️ToolsShed

Codificador / Decodificador Base58

Codifica texto en Base58 o decodifica cadenas Base58. Usado en direcciones Bitcoin y CIDs de IPFS.

Acerca de esta herramienta

Base58 es un esquema de codificación de binario a texto que convierte datos crudos en una cadena legible para humanos utilizando 58 caracteres alfanuméricos. A diferencia de Base64, que incluye símbolos que pueden ser confusos o problemáticos en URLs y direcciones, Base58 elimina caracteres como 0 (cero), O (O mayúscula), I (I mayúscula) y l (l minúscula) para evitar ambigüedad visual. Esta codificación es ampliamente reconocida por asegurar direcciones de criptomonedas—especialmente Bitcoin—y por codificar identificadores de contenido en IPFS, el Sistema de Archivos Interplanetario.

Para usar este codificador, pega tu texto o datos crudos en el campo de entrada y haz clic en el botón de codificar para generar una cadena Base58. Para decodificar, simplemente pega una cadena Base58 válida y haz clic en decodificar para recuperar los datos originales. La herramienta funciona completamente en tu navegador, procesando todas las conversiones al instante sin enviar nada a servidores externos. Esto es particularmente útil para desarrolladores que trabajan con datos de blockchain, sistemas direccionados por contenido o cualquier aplicación que necesite verificar direcciones de Bitcoin, hashes de IPFS u otros identificadores criptográficos.

La codificación Base58 es especialmente valiosa en criptomonedas y aplicaciones descentralizadas porque reduce errores de transcripción cuando se comparten direcciones manualmente o mediante billeteras de papel. La eliminación de caracteres visualmente similares hace que las direcciones Base58 sean mucho más fáciles de leer y verificar a simple vista en comparación con Base64. Ya seas un desarrollador de blockchain, un administrador de sistemas que gestiona nodos de IPFS, o simplemente alguien curioso sobre cómo se codifican las direcciones de Bitcoin, esta herramienta hace que la codificación y decodificación de Base58 sea transparente y accesible.

Preguntas Frecuentes

Implementación 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.