Les canaux de communication historiques comme les e-mails (SMTP) et les URL ont été conçus pour ne transmettre que du texte ASCII 7 bits. Pour acheminer des données binaires 8 bits (images, pièces jointes, signatures), les ingénieurs ont créé l’encodage Base64.
1. Qu’est-ce que le Base64 ?
Le Base64 est un schéma d’encodage standardisé par la RFC 4648 qui convertit des flux d’octets binaires en un jeu de 64 caractères ASCII imprimables : majuscules (A-Z), minuscules (a-z), chiffres (0-9) et les symboles + et /.
2. Mécanique Mathématique de 3 à 4 Octets
L’algorithme découpe les données en blocs de 24 bits (3 octets), scindés en 4 nombres de 6 bits (2^6 = 64). Chaque valeur sert d’indice dans la table de conversion Base64 :
3 Octets en Entrée: [01001101] [01100001] [01101110] (24 bits = "Man")
4 Blocs en Sortie: [010011] [010110] [000101] [101110]
Indice Base64: 19 22 5 46
Sortie Base64: T W F u => "TWFu"3. Pourquoi le Remplissage avec le Signe Égal (=) est Nécessaire
Si le nombre d’octets n’est pas divisible par 3, des bits à zéro sont ajoutés pour finaliser le dernier groupe de 6 bits et un ou deux signes égal (=) sont insérés afin que le décodeur rétablisse fidèlement le volume initial.
4. Variantes Base64 pour URL (URL-Safe)
Le Base64 standard contient + et /, réservés dans les URL. Dans le Base64 URL-safe (JWT, OAuth), + devient - et / devient _, avec suppression habituelle du signe =.
5. Le Mythe du "Chiffrement Base64"
Le Base64 n’est absolument pas du chiffrement. Aucune clé secrète n’est employée. Quiconque intercepte une chaîne Base64 peut la décoder en une milliseconde. Ne l’utilisez jamais pour masquer des mots de passe.