Formatear JSON
Formatear, validar y plegar JSON.
Desarrollo
Codificar y descodificar en Base32.
Base64 es más compacto. Aun así Base32 tiene su sitio, y el motivo son las personas.
Base32 usa solo las letras mayúsculas de la A a la Z y los dígitos del 2 al 7. Se ha excluido a propósito todo lo confundible: los dígitos 0, 1 y 8 y las letras que se les parecen.
Así, una cadena en Base32 es resistente a los errores de lectura clásicos: cero y O, uno e I, ocho y B.
Además no distingue mayúsculas de minúsculas, lo que ayuda al dictarla o teclearla, y no contiene caracteres que den problemas en URLs o nombres de archivo.
El precio es que resulta un veinte por ciento más larga que Base64 para los mismos datos. Un intercambio justo cuando hay personas de por medio, y una mala elección cuando solo intervienen máquinas.
El sitio más habitual donde te la encuentras es la clave secreta de la verificación en dos pasos: cuando no puedes escanear el código QR y tienes que teclear la clave, está en Base32.
La elección responde a una pregunta: quién va a leer la cadena.
| Característica | Base32 | Base64 |
|---|---|---|
| Caracteres | 32 | 64 |
| Aumento de tamaño | unos 60 % | unos 33 % |
| Mayúsculas/minúsculas | indiferente | relevante |
| Riesgo de confusión | bajo | existe |
| Uso típico | lo lee una persona | dentro del software |
Ambas están normalizadas en el mismo documento y ninguna es cifrado. Este es el punto más importante: una cadena codificada parece ilegible, pero cualquiera la revierte en un segundo.
Quien guarda una contraseña o una clave codificada en Base32 o Base64 no ha protegido nada, solo la ha disimulado.
Base32 suele terminar en uno o varios signos igual. Es relleno para ajustar la longitud. Algunos sistemas lo omiten, así que un descodificador debería aceptar ambas formas.
Algunos sitios concretos.
La clave TOTP de las aplicaciones de autenticación, como se ha dicho. Si una aplicación te ofrece una clave para teclear, es Base32 prácticamente siempre.
Las direcciones de la red Tor están codificadas así, lo que explica su forma característica.
Algunas extensiones del sistema de nombres de dominio usan una variante, porque los nombres de dominio no distinguen mayúsculas de minúsculas.
Y ocasionalmente códigos de activación o de licencia, exactamente por el motivo para el que se diseñó: que se puedan dictar por teléfono.
Para aplicaciones en español hay un detalle útil: Base32 no contiene ñ, ni tildes, ni caracteres difíciles de encontrar en un teclado español. Un código impreso en un recibo y tecleado después encaja muy bien.
Todo se procesa en tu navegador.
Cuando una persona tenga que leer, teclear o dictar la cadena.
Porque se confunden con O, I y B. Base32 los evita a propósito.
No. Cualquiera lo revierte en un segundo.
Son relleno para ajustar la longitud. Algunos sistemas los omiten.
Sobre todo en las claves TOTP de las aplicaciones de autenticación.
No.