Dans cet article
Qu'est-ce que Base32 ?
Base32 est un schéma d'encodage binaire-vers-texte défini dans la RFC 4648 qui représente les données binaires à l'aide d'un ensemble de 32 caractères (A-Z et 2-7). Contrairement à Base64, Base32 n'utilise que des lettres majuscules et des chiffres, ce qui le rend insensible à la casse et facile à saisir manuellement.
Base32 produit une sortie plus longue que Base64 (environ 60 % de surcharge contre 33 %), mais le compromis est une meilleure lisibilité et une compatibilité avec les systèmes insensibles à la casse ou qui interdisent les caractères spéciaux comme + et /.
Comment fonctionne l'encodage Base32
Base32 convertit chaque groupe de 5 octets (40 bits) en 8 caractères Base32 (5 bits chacun), en ajoutant des caractères = lorsque la longueur d'entrée n'est pas un multiple de 5.
- Regroupement 5 bits — les octets d'entrée sont découpés en blocs de 5 bits, chacun correspondant à l'un des 32 caractères de l'alphabet A-Z, 2-7
- Rembourrage — des caractères = complètent la sortie pour que sa longueur soit toujours un multiple de 8
- Variantes — Base32Hex utilise 0-9, A-V au lieu de A-Z, 2-7 pour préserver l'ordre de tri des données encodées
Essayez gratuitement — sans inscription
Encoder ou décoder en Base32 →Quand utiliser Base32
Base32 est préféré à Base64 lorsque la sensibilité à la casse, la lisibilité ou les restrictions de caractères sont importantes.
- Secrets TOTP — les applications d'authentification comme Google Authenticator utilisent des secrets encodés en Base32 car les utilisateurs peuvent avoir besoin de les saisir manuellement
- Encodage Crockford — une variante Base32 qui supprime les caractères ambigus (I, L, O, U) pour des identifiants lisibles plus propres
- DNS et systèmes de fichiers — Base32 fonctionne dans les environnements insensibles à la casse où l'alphabet mixte de Base64 causerait des collisions
Foire aux questions
Quelle est la différence entre Base32 et Base64 ?
Base32 utilise 32 caractères (A-Z, 2-7) et produit une sortie environ 60 % plus grande, tandis que Base64 utilise 64 caractères (A-Z, a-z, 0-9, +, /) avec environ 33 % de surcharge. Base32 est insensible à la casse et évite les caractères spéciaux, ce qui le rend plus adapté à la saisie manuelle.
Pourquoi les applications d'authentification utilisent-elles Base32 au lieu de Base64 ?
Les applications d'authentification utilisent Base32 car les utilisateurs doivent parfois saisir manuellement la clé secrète. L'alphabet uniquement en majuscules de Base32 évite la confusion entre les caractères similaires (comme le L minuscule et le chiffre 1) et fonctionne de manière fiable entre les systèmes insensibles à la casse.
Qu'est-ce que Base32Hex et quand l'utiliser ?
Base32Hex (aussi appelé base32hex ou hex étendu) utilise les caractères 0-9 et A-V au lieu de l'alphabet standard A-Z, 2-7. Il préserve l'ordre de tri lexicographique des données binaires originales une fois encodées, ce qui est utile pour l'indexation en base de données et les structures de données triées.