La moitié du temps où quelqu’un demande « c’est quoi cette chaîne ? », la réponse est : du base64 — une clé privée TLS collée dans un clavardage que le client a écrasée sur une seule ligne, un blob d’authentification de registre Docker tiré de ~/.docker/config.json, un segment de JWT, un en-tête BasicAuth extrait d’une commande curl. Aucune n’est chiffrée, mais toutes doivent survivre au passage à travers des systèmes qui mangeraient sinon les sauts de ligne, les guillemets ou les octets non-ASCII. L’encodeur / décodeur Base64 de PortJar sert au moment où vous devez regarder une de ces chaînes et confirmer ce qu’il y a réellement dedans.
Ce que l’outil fait
L’encodeur / décodeur Base64 convertit du texte UTF-8 vers et depuis le base64. En mode encodage, vous collez du texte clair et obtenez la représentation base64 canonique, complétée avec des = au besoin. En mode décodage, vous collez une chaîne base64 et récupérez les octets d’origine, décodés en UTF-8. Il s’exécute entièrement côté client — le texte ne quitte jamais l’onglet du navigateur, ce qui compte quand la valeur que vous décodez est un identifiant, un jeton ou tout autre secret.
Ce qu’il ne fait pas, c’est chiffrer quoi que ce soit. Le base64 est réversible par n’importe qui en moins d’une seconde. Traitez une valeur encodée en base64 comme exactement aussi sensible que le texte clair en dessous, parce que c’est le cas. Une entrée auths Docker qui a l’air de jargon opaque, c’est en fait votre nom d’utilisateur et votre mot de passe de registre en clair, séparés par un deux-points. Un en-tête BasicAuth, c’est la même chose.
Comment l’utiliser
Ouvrez portjar.com/tools/base64, choisissez Encode ou Decode dans le menu Mode, collez le texte, et appuyez sur Run. Les deux puces d’exemple — encode / hello world et decode / aGVsbG8gd29ybGQ= — chargent un aller-retour canonique que vous pouvez valider en deux clics. La sortie apparaît sous le formulaire. Comme la page est côté client, vous pouvez l’exécuter hors ligne une fois qu’elle est chargée ; c’est utile quand vous décodez quelque chose que vous préféreriez ne pas voir consigné quelque part.
Quand y recourir
- Décoder un identifiant de registre Docker tiré de
~/.docker/config.jsonou d’un secret Kuberneteskubernetes.io/dockerconfigjson, pour confirmer quel nom d’utilisateur et quel mot de passe sont réellement envoyés avant de partir à la chasse à un401 Unauthorized. - Lire la charge utile d’un JWT en décodant en base64 le segment du milieu (entre les deux points). Le segment de signature n’est pas décodable en texte, mais l’en-tête et la charge utile sont du JSON et vous disent exactement quelles revendications sont envoyées.
- Vérifier un en-tête HTTP
Basiccapturé dans une trace curl ou un journal d’équilibreur de charge. Décoder la partie aprèsBasicvous donneuser:passworden clair et confirme que le bon identifiant passe sur le fil. - Faire l’aller-retour d’une valeur de config avec sauts de ligne ou guillemets — une clé TLS au format PEM, un bloc YAML multi-ligne — à travers un système qui n’accepte qu’une seule ligne ASCII, comme un coffre à secrets de CI ou un
--build-arg. Encodez, collez, décodez à l’autre bout. - Décoder la portion
data:d’une image inline ou d’un PDF de petite taille extraite d’un courriel HTML généré, pour confirmer que la pièce est ce que l’expéditeur croit envoyer plutôt qu’un placeholder ou un gabarit cassé.
Quoi faire du résultat
Si la sortie décodée est du texte reconnaissable — JSON, une paire d’identifiants, un bloc PEM, un fragment XML — vous avez décodé la bonne chose et vous savez maintenant ce qu’il y avait dedans. Lisez-le, caviardez-le, passez à la suite.
Si la sortie décodée est binaire ou affiche des caractères de remplacement (�), l’entrée n’était soit pas du texte au départ (une image, un fragment de poignée de main TLS, un tampon de protocole binaire), soit du base64 de quelque chose qui ne se décode pas proprement en UTF-8. Les deux sont des octets valides, mais la zone de texte n’est pas le bon endroit pour les regarder — passez la même valeur dans base64 -d | file - dans un shell pour identifier ce que vous avez vraiment.
Si le décodage échoue avec une erreur de longueur ou de remplissage, la chaîne a été tronquée, copiée de travers, ou a hérité d’un encadrement par un shell ou un client de clavardage. Causes courantes : un = final retiré, une apostrophe droite devenue une apostrophe typographique, ou des espaces qui se sont glissés. Retirez les espaces, ajoutez des = jusqu’à ce que la longueur soit un multiple de quatre, et réessayez.
Un test d’aller-retour est la vérification de bon sens la moins chère. Encodez hello world, copiez le résultat, recollez-le, décodez — vous devez obtenir hello world exactement. Sinon, le problème est dans le chemin de copie (le terminal, le client de clavardage, le système de billets), pas dans la valeur.
Stack Harbor utilise des sondes encode / décode systématiquement lors des rotations d’identifiants et des bascules de registre menées dans le cadre de la gestion de déploiement.