Skip to main content
CheckTown
Outils Dev

Base32 Encoding: A Complete Guide

Publié le 5 min de lecture
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.

Outils associés