Qu'est-ce que l'encodage Base32 ?
Base32 est un schéma d'encodage binaire-vers-texte défini dans la RFC 4648 utilisant un alphabet de 32 caractères (A-Z et 2-7). Contrairement à Base64, Base32 n'utilisé que des majuscules et des chiffres, le rendant insensible à la casse. Chaque caractère représente 5 bits, et l'encodage regroupe 5 octets en 8 caractères, avec du padding '=' quand la longueur n'est pas un multiple de 5.
Pourquoi utiliser Base32 plutôt que Base64 ?
Base32 est préféré dans plusieurs scénarios. Les systèmes 2FA comme Google Authenticator utilisent Base32 car les secrets encodés sont insensibles à la casse et faciles à saisir. Les enregistrements DNS TXT en bénéficient car le DNS est insensible à la casse. Les systèmes de fichiers sans distinction de casse favorisent également Base32.
Base32 dans les systèmes d'authentification
Les protocoles TOTP et HOTP utilisent Base32 pour encoder les secrets partagés. Lors de la configuration 2FA avec une app d'authentification, le QR code contient une clé secrète encodée en Base32. Comprendre Base32 aide les développeurs à implémenter et déboguer les systèmes d'authentification.
Bonnes pratiques pour l'encodage Base32
Utilisez toujours le Base32 standard (RFC 4648). Incluez le padding '=' pour l'interopérabilité. Traitez les secrets d'authentification localement. Validez la sortie décodée. Rappelez-vous que Base32 est un encodage, pas un chiffrement — il n'offre aucune sécurité en soi.





