Overiew

Dans ce tutoriel, vous apprendrez à coder et décoder base64 à partir de la ligne de commande sous Linux. Vous apprendrez également ce qu’est l’encodage base64 et pourquoi il ne devrait jamais être utilisé pour protéger les données d’un accès non autorisé.

L’encodage et le décodage de données base64 ont de nombreux cas d’utilisation. L’un d’eux étant d’assurer l’intégrité des données lors de leur transfert sur le réseau, tandis qu’un autre est le stockage de Secrets dans Kubernetes.

Après avoir lu ce tutoriel, vous comprendrez comment coder facilement des fichiers ou des chaînes de caractères, puis les décoder en retour.

Comment encoder base64 sur Ubuntu, Debian, OSX et Red Hat

Si vous exécutez des distributions linux populaires, comme Ubuntu, Debian, CentOS ou Red Hat, l’outil de ligne de commande base64 est généralement préinstallé. Vous ne devriez pas avoir à effectuer d’étapes supplémentaires.

OSX est également livré avec sa propre version de base64.

Pourquoi Base64 encode les données

Transférer un fichier ASCII sur le réseau peut entraîner une corruption s’il n’est pas décodé correctement. La raison est que les fichiers ASCII sont des chaînes de caractères converties en octets, et lorsque ces octets sont décodés incorrectement en ASCII, vos données deviennent corrompues.

Base64 a été introduit comme un moyen de convertir vos données ASCII en octets arbitraires, où ils pourraient ensuite être transférés comme des octets, et décodés correctement en ASCII.

En bref, l’encodage base64 assure l’intégrité de nos données lorsqu’elles sont transférées sur le réseau.

Base64 n’est pas du cryptage

L’encodage des fichiers n’est pas du cryptage et ne devrait jamais être utilisé pour sécuriser des données sensibles sur le disque. Il s’agit plutôt d’un moyen utile de transférer ou de stocker des données volumineuses sous la forme d’une chaîne de caractères.

Si cela peut obscurcir ces données réelles pour les internautes, toute personne ayant accès à des données codées en base64 peut facilement les décoder.

Codage base64 d’une chaîne

Pour coder une chaîne en base64, vous pouvez envoyer une commande echo dans l’outil de ligne de commande base64. Pour s’assurer qu’aucun caractère supplémentaire, caché, n’est ajouté, utilisez le drapeau -n.

Sans le drapeau -n, vous pouvez capturer un caractère caché, comme les retours à la ligne ou les espaces, ce qui corrompra votre encodage base64.

echo -n 'my-string' | base64

Ce qui produira le résultat suivant

bXktc3RyaW5n

Encodage base64 d’un fichier

Pour encoder base64 un fichier

base64 /path/to/file

Ce qui produira une très longue chaîne encodée base64. Vous pouvez vouloir écrire le stdout au fichier à la place.

bas64 /path/to/file > output.txt

Décodage de chaînes

Pour décoder avec base64, vous devez utiliser le drapeau --decode. Avec la chaîne encodée, vous pouvez pipe une commande echo en base64 comme vous l’avez fait pour l’encoder.

En utilisant l’exemple d’encodage montré ci-dessus, décodons-le pour lui redonner sa forme originale.

echo -n 'bXktc3RyaW5n' | base64 --decode

Pourvu que votre encodage n’ait pas été corrompu, la sortie devrait être votre chaîne originale.

Décodage de fichiers

Pour décoder un fichier dont le contenu est encodé en base64, il suffit de fournir le chemin du fichier avec le drapeau --decode.

base64 --decode /path/to/file

Comme pour le codage des fichiers, la sortie sera une très longue chaîne du fichier original. Vous pouvez vouloir sortir stdout directement dans un fichier.

base64 --decode /path/to/file > output.txt

Conclusion

Dans ce tutoriel, vous avez appris à coder en base64 des fichiers et des chaînes de caractères. C’est quelque chose de communément fait pour transférer des fichiers de manière à ce qu’ils restent

.

Laisser un commentaire

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