Bash Basetop 10 Encode et Decode

Bash Basetop 10 Encode et Decode
Pour coder ou décoder une entrée / sortie standard ou tout contenu de fichier, Linux utilise le système de codage et de décodage Base64. Les données sont codées et décodées pour faciliter la transmission et le stockage des données. Le codage et le décodage ne sont pas similaires au chiffrement et au déchiffrement. Les données codées peuvent être facilement révélées par décodage. Ainsi, cet outil d'utilité de ligne de commande ne peut pas être utilisé pour la sécurité des données. L'alphabet, le nombre et le symbole '=' sont utilisés pour coder toutes les données.

Syntaxe:

Base64 [Option] [Infile] [OutFile]

Vous pouvez utiliser différents types d'options avec la commande Base64. Les données peuvent être prises à partir de n'importe quel fichier ou entrée standard lors du codage ou du décodage. Après encoder ou décoder, vous pouvez envoyer la sortie dans un fichier ou imprimer la sortie dans le terminal.

Options:

-E ou-Encode

Cette option est utilisée pour coder toutes les données de l'entrée standard ou de tout fichier. C'est l'option par défaut.

-d ou -decode
Cette option est utilisée pour décoder toutes les données codées de l'entrée standard ou de tout fichier.

-n ou -Noerrcheck
Par défaut, Base64 vérifie l'erreur lors du décodage de données. Vous pouvez utiliser l'option -N ou -Noerrcheck pour ignorer la vérification au moment du décodage.

-u ou -help
Cette option est utilisée pour obtenir des informations sur l'utilisation de cette commande.

-I, -ignore-garbage
Cette option est utilisée pour ignorer le caractère non alphabet lors du décodage.

-droits d'auteur
Il est utilisé pour obtenir des informations sur le droit d'auteur.

-version
Il est utilisé pour obtenir les informations de version.

La façon dont vous utilisez la commande Base64 dans Linux est indiquée dans ce tutoriel en utilisant quelques exemples.

Exemple n ° 1: codage des données de texte

Vous pouvez coder toutes les données de texte en utilisant Base64 dans la ligne de commande. Lorsque vous souhaitez encoder toutes les données à l'aide de la base64, l'option à utiliser -e ou -ecode est facultative. Donc, si vous ne mentionnez aucune option avec Base64, cela fonctionnera pour l'encodage. La commande suivante codera les données, 'linuxhint.com ' et imprimer les données codées en sortie.

Echo 'Linuxhint.com '| base64

Sortir:

Exemple n ° 2: Décodage des données de texte

La commande suivante décodera le texte codé, 'bgUdxhoaw50lmnvbq =='et imprimez le texte d'origine en sortie.

echo 'bgludxhoaw50lmnvbqo =' | Base64 - Decode

Sortir:

Exemple n ° 3: Fichier texte encodant

Créer un fichier texte nommé, 'goûter.SMS'Avec le texte suivant qui sera codé en utilisant la base64.

PHP utilise la base64_encode et la base64_decode pour le codage et le décodage des données

Vous pouvez imprimer le texte codé dans la ligne de commande ou stocker le texte codé dans un autre fichier. La commande suivante codera le contenu du sample.SMS fichier et imprimer le texte codé dans le terminal.

échantillon de base64.SMS

Sortir:

Les commandes suivantes codentont le contenu du sample.SMS fichier et enregistrer le texte codé dans le encodédata.SMS déposer.

échantillon de base de base64.txt> encodéddata.SMS
$ Cat encodéddata.SMS

Sortir:

Exemple n ° 4: Décodage du fichier texte

La commande suivante décodera le contenu du encodédata.SMS fichier et imprimer la sortie dans le terminal

base64 -d encodéddata.SMS

Sortir:

Les commandes suivantes décoderont le contenu du encodédata.SMS fichier et stocker le contenu décodé dans le fichier, OriginalData.SMS.

$ Base64 - Decode EncodedData.TXT> OriginalData.SMS
$ Cat OriginalData.SMS

Sortir:

Exemple n ° 5: Encodage de tout texte défini par l'utilisateur

Créer un fichier bash nommé encode_user_data.shot avec le code suivant. Le script suivant prendra toutes les données de texte en entrée, codez le texte en utilisant la base64 et imprimera le texte codé comme sortie.

#!/ bac / bash
Echo "Entrez du texte pour encoder"
lire du texte
etext = 'echo -n $ text | base64 '
Echo "Le texte codé est: $ etext"

Exécutez le script.

bash encode_user_data.shot

Sortir:

Valider le texte est codé correctement en tuysant le texte encodé renvoyé de votre exécution du script vers Base64 -decode pour confirmer que le texte d'origine est renvoyé. Ci-dessous, vous pouvez voir comment valider en supposant Mon texte secretétait la chaîne codée.

echo txkgc2vjcmv0hrlehq = | Base64 - Decode

Exemple # 6: Vérification de la validité de l'utilisateur par décodage du texte

Créer un fichier bash nommé camion.shot et ajouter le code suivant. Dans cet exemple, un texte secret est tiré de l'utilisateur. Un texte codé prédéfini est décodé par Base64 et comparé à l'entrée utilisateur. Si les deux valeurs sont égales, la sortie sera 'Vous êtes authentifié«Sinon, la sortie sera 'Vous n'êtes pas authentifié'. En utilisant ce code de décodage simple, la validation normale peut être effectuée très facilement. Dans cet exemple, le texte secret qui se traduira par le succès est 777799. Cela ne serait probablement pas codé en dur dans le script mais plus dynamique dans une application du monde réel.

#!/ bac / bash
Echo "Tapez votre code secret"
Lire secret
otext = 'echo' nzc3nzk5cg == '| Base64 --Decode '
si [$ secret == $ otext]; alors
Echo "vous êtes authentifié"
autre
Echo "Vous n'êtes pas authentifié"
Fi

Exécutez le script.

Bash CheckValidité.shot

Sortir:

Conclusion:

Pour toutes les données sensibles comme le mot de passe ou les données confidentielles, le système d'encodage et de décodage ne convient pas du tout. Vous devez utiliser le système de chiffrement et de décryptage pour sécuriser ce type de données.

Les références:

  • [RFC] Les encodages de données Base16, Base32 et Base64
  • Base64 Homme