Codificador y decodificador Base32
Codifique texto en Base32 o decodifique una cadena Base32, incluidas las claves secretas 2FA/TOTP
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
Escriba su texto en el panel izquierdo, o pegue la cadena Base32 que quiere decodificar, y elija Codificar o Decodificar en el ajuste Dirección; el resultado aparece enseguida a la derecha. La palabra «foobar» se convierte en MZXW6YTBOI====== con el alfabeto RFC 4648: seis bytes pasan a ser diez caracteres, y los seis signos = del final son relleno que completa la cadena hasta un múltiplo de ocho. Al decodificar no importan las minúsculas, los espacios ni los guiones: una clave de verificación en dos pasos mostrada como «jbsw y3dp ehpk 3pxp» se pega tal cual. Si los bytes decodificados no forman un texto legible, como ocurre siempre con las claves 2FA, la herramienta los muestra en hexadecimal en lugar de caracteres ilegibles y lo indica en la línea de resultado. Si la cadena contiene un carácter fuera del alfabeto (el alfabeto RFC no tiene 0, 1, 8 ni 9), la herramienta no adivina: le dice en qué posición está. Su texto se procesa en su navegador y no se envía a ningún lado.
Esta herramienta también se busca como decodificar base32, codificar base32, base32 decode, clave totp base32.
¿Qué es Base32?
Base32 escribe datos binarios con solo 32 caracteres distintos. Los datos se dividen en trozos de 5 bits; cada trozo es un número del 0 al 31 que corresponde a un carácter del alfabeto, de modo que cinco bytes (40 bits) dan exactamente ocho caracteres. La norma es la RFC 4648. Como no distingue mayúsculas de minúsculas y evita los caracteres que se confunden, se usa en claves que las personas escriben a mano, en códigos de configuración 2FA y en sistemas de archivos que no distinguen mayúsculas.
¿Qué es TOTP (contraseña de un solo uso basada en el tiempo)?
TOTP es el método detrás del código de seis dígitos que una app de autenticación muestra cada 30 segundos (RFC 6238). Al configurarla, la app y el sitio comparten una clave secreta, que viaja dentro del código QR o como cadena Base32 para escribir a mano. Desde ese momento, ambos lados calculan por separado el mismo código a partir de esa clave y de la hora. Quien conozca la clave puede generar códigos válidos, así que la cadena Base32 debe protegerse como una contraseña.
¿Qué diferencia hay entre Base32 y Base58?
Los dos evitan caracteres que se confunden, pero funcionan de forma distinta. Base32 divide los datos en grupos fijos de 5 bits: cada carácter corresponde a un lugar concreto de los datos, hay bloques y relleno, y las mayúsculas no importan. Base58 lee todos los datos como un solo número grande y lo escribe en base 58; el resultado es más corto, pero distingue mayúsculas de minúsculas y es más lento con entradas largas. Las claves 2FA usan Base32; las direcciones Bitcoin y los identificadores IPFS, Base58.
Decodificar una clave 2FA: qué verá y qué cuidar
La clave de configuración que se escribe en una app de autenticación o en un gestor de contraseñas, en lugar de escanear el código QR, está en Base32: alfabeto RFC 4648, casi siempre sin relleno y en grupos de cuatro. Al decodificarla no aparece una palabra ni una contraseña, sino 10 o 20 bytes aleatorios que la herramienta muestra en hexadecimal. Es lo esperado: la clave es la semilla con la que se calculan los códigos de seis dígitos.
Quien tenga esta clave puede generar sus códigos, así que trátela como una contraseña. Esta página no puede enviarla, pero tampoco la guarde en capturas de pantalla, borradores de correo o apps de notas. Decodificar sirve sobre todo para comprobar que la clave se copió bien: una longitud incorrecta o un carácter extraño se ven de inmediato.
¿Qué alfabeto necesita?
Si la cadena solo tiene mayúsculas y los dígitos del 2 al 7, es Base32 RFC 4648: lo usan las claves 2FA, algunos nombres de archivo y registros DNS. Si aparece 0, 1, 8 o 9, lo más probable es que sea base32hex o Crockford. base32hex conserva el orden: bytes ordenados dan cadenas ordenadas de la misma forma, por eso se usa en claves de bases de datos.
El Base32 de Crockford está pensado para que lo lean y escriban personas. Deja fuera I, L y O, que se confunden con 1 y 0, y no usa la U para que no se formen palabras indeseadas. Al decodificar lee I y L como 1 y O como 0, así que un código mal entendido por teléfono llega igual a los bytes correctos. Crockford no usa relleno, por lo que ese ajuste no tiene efecto con él.
- RFC 4648: ABCDEFGHIJKLMNOPQRSTUVWXYZ234567
- base32hex: 0123456789ABCDEFGHIJKLMNOPQRSTUV
- Crockford: 0123456789ABCDEFGHJKMNPQRSTVWXYZ
Preguntas frecuentes
¿Cómo se decodifica una cadena Base32?
Pegue la cadena en el panel izquierdo y elija Decodificar. Si el resultado es texto legible, verá el texto; si no, los bytes aparecen en hexadecimal. Las minúsculas, los espacios y la falta de signos = al final no son un problema.
¿Qué diferencia hay entre Base32 y Base64?
Base64 usa 64 caracteres y el resultado es más corto: 3 bytes pasan a 4 caracteres. Base32 solo usa mayúsculas y dígitos, y 5 bytes pasan a 8 caracteres, es decir, alrededor de un 20 % más. A cambio no distingue mayúsculas de minúsculas, se puede dictar en voz alta y no da problemas en nombres de archivo. Por eso las claves 2FA son Base32.
¿Para qué sirven los signos = del final? ¿Puedo borrarlos?
Base32 trabaja en bloques de 5 bytes. Cuando el último bloque queda incompleto, los signos = completan la cadena hasta un múltiplo de 8 caracteres. Esta herramienta decodifica con o sin relleno, y muchas aplicaciones, incluidas las de 2FA, no lo escriben. Si otro sistema va a leer su cadena, compruebe si lo espera.
¿Qué significa el error «no corresponde a bytes completos»?
En Base32 el último bloque nunca puede tener 1, 3 o 6 caracteres: esas longitudes no equivalen a ningún número de bytes. Si ve este error, al copiar se perdió o se añadió un carácter. Vuelva a copiar la cadena desde el origen.