Formater du JSON
Mettre en forme, valider et replier du JSON.
Développement
Encoder et décoder texte et fichiers.
Cela doit venir en premier, car l’erreur se rencontre dans de vrais systèmes.
Base64 n’a ni clé ni secret. C’est une transposition fixe entre deux écritures des mêmes données, et n’importe quel appareil la défait.
On trouve pourtant des mots de passe et des clés d’API stockés en Base64 « pour ne pas les laisser en clair ». Qui peut lire le fichier peut rétablir la valeur en une seconde. Aucun obstacle n’a été posé.
Ce à quoi cela sert réellement : faire passer des données non textuelles — une image, un certificat, une pièce jointe — par un canal qui n’accepte que du texte. Les pièces jointes de courriel fonctionnent ainsi, de même que les images placées directement dans du HTML ou du CSS.
Pour protéger réellement quelque chose, il faut du chiffrement, et pour des mots de passe une fonction de hachage prévue pour cela.
Base64 travaille sur des octets, pas sur des lettres. La façon dont une lettre devient un octet dépend de l’encodage de caractères — et c’est là que cela dérape.
En UTF-8, une lettre ordinaire occupe un octet, mais un é, un è ou un ï en occupent deux. Le symbole euro en occupe trois. Encoder avec un encodage et décoder avec un autre rend des caractères illisibles.
Cet outil utilise UTF-8 dans les deux sens, ce qui est le bon choix presque partout. Si le décodage produit des caractères étranges, la source a probablement été produite dans un encodage plus ancien.
Pour un usage dans une adresse web, il existe une variante appelée base64url, qui remplace les caractères + et / par - et _, ces deux-là ayant une signification propre dans une adresse. Un JWT emploie cette variante.
Base64 grossit les données d’environ un tiers : trois octets deviennent quatre caractères.
D’où l’intérêt de ne pas l’employer à la légère sur de gros fichiers. Une image d’un mégaoctet devient environ 1,37 mégaoctet de texte, sans compter ce qui l’entoure.
Pour de petites images dans du CSS ou du HTML, l’échange est bon : une requête réseau en moins. Au-delà de quelques kilooctets, une référence classique vaut mieux.
Les signes égal en fin de chaîne sont du remplissage et font partie du format. Certains systèmes les omettent ; il faut alors parfois les rétablir pour décoder.
Tout se passe dans cette page et rien n’est transmis.
Non. Il n’y a pas de clé et tout le monde peut le défaire. Ne l’utilisez jamais pour dissimuler.
Différence d’encodage. Cet outil utilise UTF-8 ; les sources anciennes parfois autre chose.
Une variante où + et / sont remplacés par - et _, pour tenir dans une adresse web. Les JWT l’utilisent.
D’environ un tiers : trois octets deviennent quatre caractères.
C’est du remplissage en fin de chaîne. Certains systèmes les omettent.
Non.