𝗟'𝗲𝗻𝗰𝗼𝗱𝗮𝗴𝗲 𝗕𝗮𝘀𝗲𝟲𝟰 𝗲𝘅𝗽𝗹𝗶́𝘲𝘂𝗲́
Le Base64 est partout. On le retrouve dans le CSS et les jetons JWT. De nombreux développeurs l'utilisent sans savoir comment il fonctionne.
Le Base64 transforme des données binaires en une chaîne de caractères textuelle. Il utilise 64 caractères. Ceux-ci incluent A-Z, a-z, 0-9, le signe plus (+) et la barre oblique (/). Il utilise le signe égal (=) pour le remplissage (padding).
Le Base64 n'est pas un chiffrement. Il permet de rendre les données binaires sûres pour les canaux de transmission textuels.
Fonctionnement :
- Diviser les données binaires en groupes de 3 octets.
- Diviser ceux-ci en quatre segments de 6 bits.
- Associer chaque segment à un caractère Base64.
Exemple : Le mot Man devient TWFu.
Vous utilisez le Base64 pour :
- Les pièces jointes d'e-mails.
- L'intégration d'images dans le HTML.
- Les jetons JWT.
- L'envoi de données binaires via JSON.
- L'authentification HTTP de base.
Javascript prend cela en charge nativement.
Utilisez btoa pour encoder.
Utilisez atob pour décoder.
Node.js utilise data.toString('base64') pour les fichiers.
Certains systèmes utilisent le Base64url. Cette version est sûre pour les URL. Elle remplace le signe plus par un moins et la barre oblique par un tiret bas (underscore). Elle supprime le remplissage (padding).
Retenez ces points :
- Le Base64 est un encodage. Ce n'est pas une mesure de sécurité.
- Le résultat est 33 % plus volumineux.
- Utilisez-le pour envoyer des données binaires via des canaux textuels.
- Utilisez le Base64url pour les URL.
Source : https://dev.to/moksh/base64-encoding-explained-a-practical-guide-for-developers-49hh