Cómo se usa
- Elige Codificar para convertir texto en z-base-32 o Decodificar para convertir z-base-32 de nuevo en texto.
- Deja seleccionada la variante z-base-32 y comprueba que el Relleno esté desactivado, ya que el formato no lo usa.
- Escribe o pega la entrada, o abre un archivo. El resultado se actualiza mientras escribes.
- 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
| Alfabeto | ybndrfg8ejkmcpqxot1uwisza345h769 |
|---|---|
| Tamaño de salida | 8 caracteres por cada 5 bytes (160%) |
| Relleno | Ninguno |
| Estándar | z-base-32 (Zooko Wilcox-O'Hearn) |
| Distingue mayúsculas y minúsculas | No |
Ejemplos
| Entrada (UTF-8) | Salida |
|---|---|
Hello, World! | jb1sa5dxfoofq551pt1nn |
Base64.is | ejozg3jsgozg1ha |
你好 | 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?
--with-wkd-hash.