Qu'est-ce que Base64
Base64 est un moyen de représenter des données binaires ou textuelles en utilisant seulement 64 caractères sécurisés, des lettres, des chiffres et quelques symboles. Il ne s’agit pas d’un cryptage et n’offre aucune sécurité ; il s'agit d'un codage qui permet aux données de voyager en toute sécurité via des systèmes qui gèrent uniquement du texte, tels que les e-mails, les charges utiles JSON, les URL de données et les en-têtes HTTP. Cet outil convertit le texte en Base64 et décode Base64 en texte lisible.
Quand vous avez besoin de Base64
Les développeurs rencontrent constamment Base64. Les pièces jointes des e-mails sont codées en Base64 afin que les fichiers binaires survivent au transport de courrier contenant uniquement du texte. Les petites images sont intégrées directement dans CSS ou HTML en tant qu'URL de données Base64 pour enregistrer une demande. Les en-têtes d’authentification de base contiennent des informations d’identification codées en Base64. Les jetons Web JSON utilisent Base64 pour leurs segments. Lorsque vous avez besoin d'inspecter ou de créer l'un de ces éléments, l'encodage et le décodage manuels ne sont pas pratiques, cet outil le fait instantanément.
Unicode géré correctement
Un bug courant avec les outils Base64 est la modification des caractères accentués ou non latins, car l'encodage naïf suppose un ASCII simple. Cet outil code d'abord via UTF-8, de sorte que les lettres accentuées, les emoji et les caractères de n'importe quelle langue survivent intacts à l'aller-retour. Vous pouvez encoder « café » ou du texte dans n'importe quel script et le décoder exactement tel qu'il était.
Base64 n'est pas un cryptage
Il convient de le souligner : Base64 est trivialement réversible et n’offre aucune protection. N’importe qui peut le décoder en une seconde, y compris avec cet outil. N'utilisez jamais Base64 pour masquer des mots de passe ou des données sensibles en pensant qu'elles sont sécurisées. Il s'agit simplement d'un codage de transport, utile pour sécuriser le texte des données, et non pour le garder secret. Pour une sécurité réelle, vous avez besoin d’un véritable cryptage, ce qui est une tout autre chose.
Comment fonctionne l'encodage Base64
Base64 prend des données binaires et les représente à l'aide de 64 caractères imprimables, de A à Z, de a à z, de 0 à 9, plus et barre oblique, avec le signe égal comme remplissage. Tous les trois octets d'entrée deviennent quatre caractères Base64, c'est pourquoi les données codées sont environ un tiers plus grandes que l'original. Cette expansion constitue le compromis permettant de sécuriser l'intégration de données dans des contextes contenant uniquement du texte. Le décodage inverse exactement le processus, récupérant les octets d’origine.
URL de données et images intégrées
Une utilisation quotidienne de Base64 est l'URL de données, qui intègre un petit fichier directement en HTML ou CSS au lieu de créer un lien vers celui-ci. Une petite icône codée sous la forme d'une URL de données Base64 se charge avec la page plutôt que de nécessiter une requête distincte, ce qui peut accélérer le rendu des petits éléments. Les développeurs collent les données d'image, les encodent et déposent le résultat dans un attribut src. Pour les fichiers plus volumineux, la pénalité de taille dépasse les avantages, mais pour les petites icônes et les SVG en ligne, il s'agit d'une technique courante.
Base64 dans les jetons, les e-mails et les API
Base64 apparaît tout au long du développement Web. Les jetons Web JSON codent leurs segments d'en-tête et de charge utile en Base64 afin qu'ils voyagent en toute sécurité dans les en-têtes et les URL. Les pièces jointes des e-mails sont codées en Base64 afin que les fichiers binaires survivent au transport de courrier texte. L'authentification HTTP de base encode les informations d'identification en Base64. Les API acceptent ou renvoient parfois des données binaires codées en Base64 dans JSON. Lorsque vous avez besoin d'inspecter ou de construire l'un d'entre eux, cet outil encode et décode instantanément, gérant correctement Unicode afin que rien ne soit corrompu.