Outils
FR

Qu'est-ce que l'encodage Base64 ?

Le Base64 permet d'écrire n'importe quelle donnée binaire à l'aide de 64 caractères imprimables seulement. Voici comment il fonctionne, pourquoi il existe, et quand l'utiliser (ou non).

Le Base64 en une phrase

Le Base64 est un encodage binaire-texte, défini par la RFC 4648, qui représente chaque groupe de 3 octets de données par 4 caractères de l'alphabet A–Z, a–z, 0–9, + et /.

Pourquoi le Base64 existe

De nombreux systèmes ont été conçus pour le texte uniquement : l'e-mail (SMTP), le JSON, le XML, les attributs HTML, les URL et les terminaux. Des données binaires brutes, comme des images ou des PDF, peuvent contenir des octets que ces systèmes modifieraient ou rejetteraient. Le Base64 convertit ces données en caractères imprimables et sûrs, pour qu'elles arrivent à destination intactes.

Comment fonctionne l'encodage Base64, étape par étape

  1. Prenez les octets d'entrée : M, a, n = 77, 97, 110.
  2. Écrivez-les sur 24 bits : 01001101 01100001 01101110.
  3. Découpez ces bits en quatre groupes de 6 bits : 010011 010110 000101 101110 = 19, 22, 5, 46.
  4. Cherchez chaque nombre dans l'alphabet : 19 = T, 22 = W, 5 = F, 46 = u.

Man devient donc TWFu. Le décodage consiste simplement à refaire ces étapes en sens inverse.

L'alphabet Base64

ValeursCaractères
0–25A–Z
26–51a–z
52–610–9
62+ (compatible URL : -)
63/ (compatible URL : _)
remplissage=

Que signifie le remplissage = ?

Lorsque la longueur des données d'entrée n'est pas un multiple de 3, le dernier groupe est complété et signalé par = : Ma devient TWE= et M devient TQ==. Le remplissage n'apparaît jamais au milieu d'une chaîne valide.

Les variantes du Base64

Le Base64 n'est pas un chiffrement

Le Base64 ne cache rien : n'importe qui peut le décoder instantanément. On le prend souvent pour une protection, car le résultat semble aléatoire. Pour vos secrets, utilisez un vrai chiffrement comme AES, et réservez le Base64 au transport des octets chiffrés sous forme de texte.

Le surcoût en taille

La longueur encodée est de 4 × ⌈n / 3⌉ caractères pour n octets, soit environ 33 % de plus que l'original. Avec les retours à la ligne MIME, elle augmente encore de 2 à 3 %.

Où utilise-t-on le Base64 ?

Questions fréquentes

Le Base64 est-il un chiffrement ou un hachage ?

Non. Un chiffrement ne peut être inversé qu'avec une clé, un hachage ne peut pas être inversé du tout, alors que le Base64 peut être décodé par n'importe qui.

Pourquoi l'appelle-t-on Base64 ?

Parce qu'il utilise un alphabet de 64 caractères : chaque caractère porte donc 6 bits d'information (26 = 64).

Comment savoir si une chaîne est en Base64 ?

Elle ne contient que A–Z, a–z, 0–9, + et / (ou - et _), sa longueur est généralement un multiple de 4 et elle peut se terminer par un ou deux signes =. Le test le plus rapide consiste à la coller dans notre décodeur.

Dernière mise à jour: