¿Qué es la codificación Base32?
Base32 es un esquema de codificación binario-a-texto definido en RFC 4648 que representa datos binarios usando un alfabeto de 32 caracteres (A-Z y 2-7). A diferencia de Base64, Base32 usa solo letras mayúsculas y dígitos, haciéndolo insensible a mayúsculas y adecuado para sistemas que no distinguen entré mayúsculas y minúsculas. Cada carácter Base32 representa 5 bits de datos, y la codificación agrupa 5 bytes en 8 caracteres, con rellenó usando '=' cuando la longitud no es múltiplo de 5.
¿Por qué usar Base32 en vez de Base64?
Base32 se prefiere sobre Base64 en varios escenarios. Los sistemas de autenticación de dos factores (2FA) como Google Authenticator usan Base32 porque los secretos codificados son insensibles a mayúsculas y fáciles de escribir manualmente. Los registros DNS TXT se benefician porque DNS es insensible a mayúsculas. Los sistemas de archivos que no distinguen mayúsculas también favorecen Base32.
Base32 en sistemas de autenticación
Los protocolos TOTP y HOTP, definidos en RFC 6238 y RFC 4226 respectivamente, usan Base32 para codificar secretos compartidos. Al configurar 2FA con una app autenticadora, el código QR contiene una clave secreta codificada en Base32. Entender Base32 ayuda a desarrolladores a implementar y depurar sistemas de autenticación, y a profesionales de seguridad a auditar implementaciones 2FA.
Mejores prácticas para codificación Base32
Siempre usa Base32 estándar (RFC 4648) a menos que tu sistema requiera una variante. Incluye rellenó con '=' para interoperabilidad. Al manejar secretos de autenticación, procésalos localmente para evitar exponer datos sensibles. Válida la salida decodificada para asegurar la integridad. Recuerda que Base32 es codificación, no cifrado — no proporciona seguridad por sí mismo.





