Aller au contenu
OpsKit

Encodeur / décodeur Base64

Convertit du texte en Base64 et inversement. Gère correctement les caractères accentués, prend en charge l'alphabet URL-safe utilisé par JWT et vous prévient quand le contenu est binaire plutôt que de l'abîmer en silence.

Sortie

Tout se passe dans votre navigateur. Cette page est un fichier statique. Ce que vous saisissez reste dans l'onglet, n'est jamais envoyé à un serveur et disparaît à la fermeture — coller un vrai jeton ou une vraie configuration ne présente donc aucun risque.

Quand cela sert

  • À la lecture d'un Secret Kubernetes, où kubectl get secret affiche chaque valeur encodée en Base64.
  • Pour intégrer une petite image ou un certificat dans un fichier de configuration, une variable d'environnement ou une data URI.
  • Pour inspecter un en-tête Authorization, une charge utile de webhook ou un segment de JWT arrivé encodé.

Exemples concrets

ASCII simple

Entrée
hello world
Résultat
aGVsbG8gd29ybGQ=

Le = final est du remplissage, il ne fait pas partie des données.

Texte accentué

Entrée
déjà vu
Résultat
ZMOpasOgIHZ1

Chaque caractère accentué occupe deux octets en UTF-8. Les outils qui utilisent btoa() lèvent une erreur ici.

URL-safe, pour un segment de JWT

Entrée
{"alg":"HS256","typ":"JWT"}
Résultat
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9

Sans remplissage ni caractères + ou /, la chaîne survit donc dans une URL.

Là où l'on se trompe

Prendre le Base64 pour du chiffrement

C'est un encodage, réversible par n'importe qui. Un Secret Kubernetes est encodé en Base64, pas protégé — traitez son contenu comme du texte en clair dans votre modèle de menaces.

Donner du Base64 URL-safe à un décodeur standard

Les segments de JWT utilisent - et _ et suppriment le remplissage. Un décodeur strict les rejette. Convertissez d'abord l'alphabet et complétez la longueur à un multiple de 4.

Perdre des octets à cause d'un saut de ligne final

echo "secret" | base64 encode aussi le saut de ligne final. Utilisez echo -n ou printf quand la valeur doit correspondre exactement.

Questions fréquentes

Pourquoi la chaîne encodée est-elle plus longue que l'original ?

Le Base64 représente 3 octets avec 4 caractères : la sortie grossit donc d'environ 33 %, remplissage compris. Ce surcoût est le prix à payer pour faire passer du binaire dans un canal purement textuel.

Puis-je coller ici un secret de production sans risque ?

La page est statique et la conversion se fait en JavaScript dans votre onglet. Rien n'est transmis. Vous pouvez le vérifier en ouvrant le panneau réseau pendant que vous tapez.

Comment faire depuis un terminal ?

Encodez avec printf '%s' 'texte' | base64 et décodez avec base64 -d. Sous macOS l'option de décodage est -D. Pour une sortie URL-safe, ajoutez | tr '+/' '-_' | tr -d '='.

Outils liés