Codificador y decodificador Base58 (alfabeto Bitcoin)
Codifique texto o bytes hexadecimales en Base58, decodifique Base58 y compruebe la suma de control Base58Check
Sus datos se quedan con usted. La conversión ocurre dentro del navegador; no se envía nada a ningún servidor.
¿Le sirvió esta herramienta?
Gracias, su comentario llegó.
Cómo funciona
Pegue en el panel izquierdo el texto que quiere codificar o la cadena Base58 que quiere decodificar, y elija Codificar o Decodificar en el ajuste Dirección. La palabra «hello» se convierte en Cn8eVZg: cinco bytes, siete caracteres. Si trabaja con datos binarios como claves, hashes o direcciones, ponga Formato de los datos en Bytes hexadecimales. Al codificar 00 00 01 se obtiene 112, porque cada byte cero inicial se escribe como un 1 aparte. Para revisar una dirección Bitcoin antigua o una clave privada en formato WIF, ponga Base58Check en Sí y elija Decodificar: la herramienta separa los últimos 4 bytes, calcula el doble SHA-256 del resto e indica VÁLIDO o NO VÁLIDO en la línea de resultado. Una dirección con un solo carácter mal copiado no pasa esta prueba. Si la cadena contiene 0, O, I o l, se le avisa de que ese carácter no está en el alfabeto Base58 y en qué posición aparece. Todo ocurre en su navegador; ninguna dirección ni clave se envía a un servidor.
Esta herramienta también se busca como decodificar base58, codificar base58, base58 a hexadecimal.
¿Qué es Base58?
Base58 lee una secuencia de bytes como un solo número entero grande y lo escribe en base 58. Su alfabeto tiene dígitos y letras sin 0, O, I ni l, y ningún signo de puntuación. A diferencia de Base64, que trabaja con grupos de bits, es un cambio de base numérica: los bytes cero iniciales desaparecerían del número, así que cada uno se escribe como un 1 adicional. Las direcciones Bitcoin, los identificadores IPFS y las direcciones de Solana usan esta codificación.
¿Qué es Base58Check?
Base58Check añade detección de errores a Base58. Delante de los datos se coloca un byte de versión y al final se añaden los primeros 4 bytes del doble hash SHA-256 de los datos; luego todo se escribe en Base58. Quien decodifica vuelve a calcular el hash y lo compara con los últimos 4 bytes. Las direcciones Bitcoin antiguas (que empiezan con 1 o 3) y las claves privadas en formato WIF son Base58Check.
¿Qué diferencia hay entre Base58 y Base58Check?
Base58 es solo una forma de escribir bytes: usa caracteres sin ambigüedad, pero no detecta un carácter mal copiado; una cadena dañada simplemente se decodifica como otro número. Base58Check se escribe igual y añade al final una suma de control de 4 bytes; al decodificar se vuelve a calcular y hasta un solo carácter equivocado queda en evidencia. Las cadenas en las que un error puede costar dinero, como las direcciones Bitcoin y las claves WIF, usan Base58Check; los identificadores IPFS son Base58 simple.
Qué demuestra la suma de control Base58Check y qué no
Base58Check añade 4 bytes tomados del SHA-256 del SHA-256 de los datos. Si una dirección se copia mal o incompleta, esos 4 bytes dejan de coincidir; la probabilidad de que una dirección errónea pase por casualidad es de aproximadamente 1 entre 4300 millones. Un resultado VÁLIDO indica, casi con certeza, que la cadena no tiene errores de escritura.
La suma de control no dice de quién es la dirección ni a qué red pertenece. El primer byte decodificado es un byte de versión (00 en una dirección de la red principal de Bitcoin, por eso empiezan con 1), y otra red con la misma estructura también pasa la prueba. Antes de enviar dinero, compare la dirección en su propia billetera con la que le muestra el destinatario. Las direcciones que empiezan con bc1 son Bech32, no Base58; esta herramienta no las decodifica.
¿Texto o bytes hexadecimales?
Base58 se usa sobre todo con datos binarios: direcciones Bitcoin, claves privadas, identificadores de contenido IPFS (CIDv0, que empiezan con Qm) y direcciones de cuentas de Solana. Al decodificarlos no sale texto legible, así que elija Bytes hexadecimales. Si está elegido Texto y los bytes no son UTF-8 válido, la herramienta pasa sola a hexadecimal y lo indica.
Para convertir un texto corto propio en un identificador compacto y sin ambigüedades, elija Texto (UTF-8); las letras con tilde y la ñ ocupan dos bytes en UTF-8 y alargan un poco el resultado. Base58 trata toda la entrada como un solo número y se vuelve lento con entradas largas; a partir de unos pocos kilobytes, conviene Base64.
Preguntas frecuentes
¿Cómo se decodifica una cadena Base58?
Pegue la cadena en el panel izquierdo y elija Decodificar. Si decodifica una dirección o una clave, ponga Formato de los datos en Bytes hexadecimales para ver los bytes uno por uno. En una cadena Base58Check, la línea de resultado dice además si la suma de control es válida.
¿Por qué Base58 no usa 0, O, I ni l?
En muchas tipografías el cero se parece a la O mayúscula y la I mayúscula a la l minúscula. Las direcciones Bitcoin se diseñaron para que las personas pudieran leerlas y copiarlas a mano, así que se quitaron esos cuatro caracteres. Tampoco hay símbolos como + o /, de modo que un doble clic selecciona toda la dirección.
¿Cómo compruebo si una dirección Bitcoin es válida?
Pegue la dirección y elija Decodificar, Bytes hexadecimales y Base58Check en Sí. Si la línea de resultado muestra VÁLIDO ✓, la dirección no tiene errores de escritura. Sirve para direcciones antiguas que empiezan con 1 o 3; las que empiezan con bc1 usan otro formato.
¿Qué diferencia hay entre Base58 y Base64?
Base64 divide los datos en grupos de 6 bits, es rápido y usa + / y =. Base58 convierte toda la entrada en un número en base 58; no usa símbolos y evita los caracteres parecidos, pero es más lento. Base64 conviene para datos largos y archivos; Base58, para identificadores cortos que leen personas.