Codificador y decodificador z-base-32

Convierte texto, bytes en hexadecimal o archivos a z-base-32 y viceversa. Su alfabeto en minúsculas omite los caracteres que se confunden con facilidad, y la salida no necesita relleno.

Se ejecuta por completo en tu navegador. No se sube nada.

Cómo se usa

  1. Elige Codificar para convertir texto en z-base-32 o Decodificar para convertir z-base-32 de nuevo en texto.
  2. Deja seleccionada la variante z-base-32 y comprueba que el Relleno esté desactivado, ya que el formato no lo usa.
  3. Escribe o pega la entrada, o abre un archivo. El resultado se actualiza mientras escribes.
  4. Copia el resultado o descárgalo como archivo.

¿Qué es z-base-32?

z-base-32 es una codificación Base32 diseñada por Zooko Wilcox-O'Hearn para que a las personas les resulte más fácil leerla, escribirla y pronunciarla. El mecanismo es el mismo que en Base32 RFC 4648: cada carácter lleva 5 bits y 5 bytes se convierten en 8 caracteres. Lo que la distingue es el alfabeto:

ybndrfg8ejkmcpqxot1uwisza345h769

Está completamente en minúsculas y omite 0, 2, l y v, que se confunden fácilmente con o, z, 1 y u. Además, los caracteres están reordenados, así que la salida z-base-32 no se parece en nada al Base32 estándar de los mismos bytes y un decodificador RFC 4648 no puede leerla.

No hay relleno: la longitud de los datos se deduce de la longitud de la cadena. La especificación también permite codificar cadenas de bits que no forman bytes completos si ambas partes acuerdan la longitud; esta herramienta siempre trabaja con bytes completos.

Dónde se usa z-base-32

  • OpenPGP Web Key Directory (WKD). Para publicar una clave en una URL conocida (well-known), la parte local de la dirección de correo se pasa a minúsculas y se procesa con SHA-1, y el hash de 20 bytes se codifica en z-base-32 para obtener un nombre de archivo de 32 caracteres.
  • ZRTP. La cadena corta de autenticación que dos interlocutores leen en voz alta para detectar un ataque de intermediario puede representarse como Base32 con el alfabeto z-base-32 (RFC 6189).
  • Lightning Network. Programas de nodo como lnd y Core Lightning devuelven los mensajes firmados como cadenas z-base-32.

Para otros formatos fáciles de usar por personas, compara Crockford Base32, que mantiene los dígitos en orden y perdona los errores de escritura, y Base58, que es más corto pero distingue mayúsculas y minúsculas.

Especificación

Alfabetoybndrfg8ejkmcpqxot1uwisza345h769
Tamaño de salida8 caracteres por cada 5 bytes (160%)
RellenoNinguno
Estándarz-base-32 (Zooko Wilcox-O'Hearn)
Distingue mayúsculas y minúsculasNo

Ejemplos

Entrada (UTF-8)Salida
Hello, World!jb1sa5dxfoofq551pt1nn
Base64.isejozg3jsgozg1ha
你好h164b3pfzw

Preguntas frecuentes

¿z-base-32 es lo mismo que Base32?

No. Usa la misma agrupación de 5 bits que Base32 RFC 4648, pero con un alfabeto distinto y reordenado, y sin relleno. Una cadena z-base-32 debe decodificarse con un decodificador z-base-32.

¿z-base-32 distingue entre mayúsculas y minúsculas?

El alfabeto está en minúsculas y la salida siempre lo está. Este decodificador también acepta mayúsculas y las convierte a minúsculas antes de decodificar.

¿Qué pasa si mi cadena termina con signos =?

z-base-32 no usa relleno, pero si una cadena termina con signos =, el decodificador simplemente los ignora.

¿Cómo obtengo un hash WKD?
WKD necesita el hash SHA-1 de la parte local de la dirección en minúsculas, y esta herramienta no lo calcula. Calcula el hash en otro sitio, pégalo aquí como entrada hexadecimal y codifícalo. GnuPG también puede mostrar el hash WKD directamente con su opción --with-wkd-hash.