Encodeur et décodeur Base32

Base32 représente des données binaires en utilisant 32 caractères — les dix chiffres 2-7 et les 26 lettres majuscules, sans 0/O ni 1/I pour éviter les erreurs de lecture. Cela le rend idéal pour tout ce qu’un humain doit taper ou lire à voix haute : secrets TOTP à deux facteurs, codes de bon, identifiants insensibles à la casse. Cet outil encode des données binaires ou du texte en Base32 et les décode, suivant la RFC 4648 avec un remplissage optionnel.

Comment encoder ou décoder Base32

  1. 1

    Collez du texte ou téléchargez un fichier

    L'entrée est traitée comme des octets. UTF-8 est l'interprétation par défaut pour l'entrée texte.

  2. 2

    Choisissez la direction

    Encodez pour transformer des octets bruts en une chaîne Base32 ; décodez pour récupérer les octets.

  3. 3

    Configurer le remplissage

    La RFC 4648 spécifie un remplissage `=` jusqu'à un multiple de 8. Désactivez-le pour les secrets TOTP et les jetons compacts.

  4. 4

    Copiez le résultat

    La sortie encodée est en majuscules, remplie ou non remplie selon votre paramètre.

L’alphabet RFC 4648

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 2 3 4 5 6 7

Pas de 0, pas de 1, pas de 8, pas de 9. Chaque caractère encode 5 bits (2^5 = 32), donc 5 octets d’entrée deviennent 8 caractères de sortie.

Exemple pratique

Encodage de la chaîne ASCII foo (octets 0x66 0x6F 0x6F = 01100110 01101111 01101111) :

  1. Découpez en groupes de 5 bits : 01100 11001 10111 10110 1111 (dernier groupe rempli)
  2. Mappez à l’alphabet : M Z X W 6
  3. Ajoutez un remplissage === pour atteindre 8 caractères : MZXW6===

Règles de remplissage et de longueur

Octets d’entrée Longueur de sortie Remplissage
1 8 ======
2 8 ====
3 8 ===
4 8 =
5 8 (aucun)

Variantes au-delà de la RFC 4648

  • Base32 Hex — Alphabet 0-9A-V, utilisé par NSEC3 dans DNSSEC.
  • Base32 de Crockford — Alphabet optimisé pour la saisie humaine ; substitue O0, I/L1 lors du décodage. Utilisé par les ULIDs et certaines clés de licence.

Cet outil utilise par défaut la RFC 4648 standard.

Secrets TOTP

Le format URI otpauth:// utilisé par Google Authenticator et chaque application 2FA moderne encode le secret partagé en Base32 sans remplissage. Lorsque vous scannez un QR pour “Mon Service”, le paramètre secret= est une chaîne Base32. Décodez-la avec cet outil pour inspecter les octets bruts utilisés par le HMAC.

Questions fréquentes

Base32 est insensible à la casse et évite les caractères similaires, ce qui est important pour tout ce qu’un humain lit ou tape. Base64 est plus dense (moins de caractères pour les mêmes octets) mais nécessite de distinguer I de l et 0 de O, ce qui échoue en écriture manuscrite et en petit texte.

La RFC 4648 dit oui, mais la plupart des consommateurs du monde réel (applications TOTP, bibliothèques ULID, résolveurs DNSSEC) acceptent les entrées non remplies. Cet outil vous permet de choisir ; collez dans l’une ou l’autre forme et le décodage devrait fonctionner.

Le Base32 standard n’a pas de 0, 1, 8 ou 9 et est toujours en majuscules. Si votre entrée contient ces caractères, il peut s’agir de la variante de Crockford ou de base32hex, pas de la RFC 4648. Nettoyez l’entrée ou choisissez la variante correcte.

Non. L’encodage et le décodage se font dans le navigateur. Ni l’entrée ni le résultat ne quittent votre machine.

Outils similaires