Maybaygiare.org

Blog Network

Comment Encoder et Décoder des chaînes Base64 Avec Mac OS ou Linux

Tremaine Eto

Follow

9 sept. 2020 · 3 min de lecture

Photo de James Orr sur Unsplash

Une tâche assez courante que je dois faire avec mon ingénierie logicielle quotidienne est d’encoder ou de décoder des chaînes base64; cela se produit lorsque je travaille avec des choses comme des clés privées ou des secrets Kubernetes, qui sont codés en base64. Pour ce faire, vous pouvez facilement mémoriser une commande pour chacune que vous pouvez exécuter dans votre terminal.

Tout d’abord, je serais négligent si je ne mentionnais pas que vous n’avez pas nécessairement à le faire dans votre interface de ligne de commande. Il existe deux sites Web frères, Décoder Base64 et Encoder Base64, qui réalisent cette tâche. Je ne suis en aucun cas affilié avec eux, mais je suis certain que beaucoup, beaucoup de développeurs les connaissent.

Cependant, il existe diverses raisons pour lesquelles vous ne pouvez pas utiliser ces sites; d’une part, vous êtes peut-être hors ligne et vous ne pouvez pas y accéder. Deuxièmement, vous ne faites peut-être pas entièrement confiance à vos données secrètes qui vont au serveur de quelqu’un que vous ne connaissez pas. Les deux sont des points vraiment valables, et c’est pourquoi je suggère les méthodes que je suis sur le point de revoir.

Tout d’abord, pour encoder en base64, exécutez la commande suivante dans votre terminal:

echo -n 'username' | base64

Passons en revue les différents composants.

  • echo: Cette commande écrit une chaîne sur la sortie standard, ce qui en termes moins techniques signifie qu’elle imprime littéralement tout ce que vous écrivez à l’écran.
  • -n: Cet indicateur indique que vous souhaitez que la sortie s’imprime sur une nouvelle ligne. C’est en fait assez utile car sinon, la chaîne codée en base64 s’imprimera juste après sans espace ni quoi que ce soit. C’est juste plus difficile à copier et coller, et vous pourriez même copier accidentellement une partie de la commande initiale avec la chaîne, ce qui causerait certainement des maux de tête sur la ligne. Je vous recommande de prendre l’habitude d’inclure ce drapeau même s’il n’est pas nécessaire de faire fonctionner la commande.
  • 'username': C’est là que vous mettez la chaîne que vous voulez encoder en base64; il ne faut pas littéralement qu’elle soit username.
  • |: Il s’agit d’un tuyau qui indique à la commande que vous souhaitez rediriger la sortie de la partie gauche vers la partie droite, essentiellement. Dans ce cas, nous ne voulons pas simplement faire écho à ce que nous avons écrit; nous voulons l’encoder! Ainsi, nous fournirons sur le côté droit les instructions pour encoder la chaîne.
  • base64: Il s’agit d’un programme qui se trouve dans le package coreutils (ou GNU Core Utilities) préemballé avec votre système d’exploitation Mac ou Linux. D’autres outils familiers qui se trouvent également dans coreutils incluent lsrm et cat. Fondamentalement, cela fera tout le travail d’encodage de la chaîne que vous avez fournie plus tôt.

La sortie de la commande ci-dessus est la suivante:

dXNlcm5hbWU=

Décoder en base64

Disons que vous avez réellement commencé avec la chaîne codée en base64 ci-dessus, dXNlcm5hbWU=. Si vous souhaitez le décoder, le processus est en fait aussi simple que dans la section ci-dessus.

Exécutez simplement la commande suivante:

base64 --decode dXNlcm5hbWU=

Cela devrait être assez facile à comprendre; le drapeau --decode fait exactement ce que vous pensez qu’il fait! La sortie est:

username

Facile à mémoriser mais utile à vie

Si vous travaillez avec un logiciel, je ne pense pas que la sous-position ci-dessus soit beaucoup exagérée; J’utilise ces commandes tout le temps, et je leur en suis tellement reconnaissant.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.