Certaines des utilisations de l'encodage sont:
Pour les données de codage, Base64 utilise uniquement l'alphabet, le nombre et le symbole. Par exemple, c2ftcgxlcg == est une données codées valides pendant que b?Hv3.Zh2j == n'est pas une données codées valides.
Dans ce didacticiel d'inscription Linux, nous expliquerons comment utiliser la commande Base64 pour encoder et décoder les données d'une chaîne ou d'un fichier. Nous avons exécuté les commandes sur Ubuntu 20.04 Système focal FOSSA. Cependant, vous pouvez également exécuter les mêmes commandes sur d'autres distributions Linux.
Base64 Syntaxe
Voici la syntaxe du codage à l'aide de la base64:
base64 [Option] [Fichier]
Options
Certaines des options de ligne de commande qui peuvent être utilisées avec la commande Base64 sont:
-D ou - Decode
Utilisez cette option pour décoder un fichier ou une chaîne.
--aider
Utilisez cette option pour afficher l'aide concernant l'utilisation de la base64.
-I, --ignore-garbage
Utilisez cette option lors du décodage pour ignorer les caractères non alphabet
--version
Utilisez cette option pour afficher les informations de version
Chaîne d'encodage
Vous pouvez facilement coder une chaîne à l'aide de la commande Base64. Par exemple, pour encoder un exemple de texte «Bienvenue à Linux» à Base64, la commande serait:
Echo «Bienvenue à Linux» | base64
Sortie terminale:
Linuxhint @ hp34: ~ $ echo "Bienvenue à Linux" | base64
V2VSY29TZSB0BYBMAW51EAO =
Cette commande codera le texte dans la chaîne à l'aide de la base64 et imprimera le texte codé à la sortie standard comme indiqué dans la sortie du terminal ci-dessus.
Vous pouvez également enregistrer la sortie codée dans un fichier plutôt que d'imprimer à la sortie standard à l'aide de l'opérateur de redirection (>). La commande suivante encodera le texte et enregistrera la sortie dans un fichier nommé «EncodedFile.SMS:
Echo «Bienvenue à Linux» | base64> file codée.SMS
Pour afficher le fichier codé, vous pouvez utiliser la commande CAT:
Cat encodé.SMS
Sortie terminale:
linuxhint @ hp34: ~ $ Cat encodedfile.SMS
4OCCV2VSY29TZSB0BYBMAW51EOKANQO =
Chaîne de décodage
Vous pouvez également décoder le texte codé Base64 à l'aide de l'option -decode ou -d. Par exemple, pour décoder le texte codé de base64 «V2vSy29TZSB0BYBMAW51EAO =», la commande serait:
Echo 4OCCV2VSY29TZSB0BYBMAW51EOKANQO = | Base64 - Decode
Cette commande décodera le texte codé de base64 et imprimera le texte d'origine sur la sortie standard comme indiqué dans la sortie de borne suivante.
Sortie terminale:
linuxhint @ hp34: ~ $ echo 4occv2vsy29tzsb0bybmaw51eokanqo = | Base64 - Decode
«Bienvenue à Linux»
Encodage de fichier texte
La commande Base64 peut également être utilisée pour coder un fichier texte. Pour cet exemple, créons un fichier texte avec un contenu d'abord en utilisant cette commande sur le terminal, ou utilisez n'importe quel fichier de texte.
Echo "" "J'adore Linux
J'adore Linux
J'adore Linux
LinuxHint est ma page d'accueil "" "> TestFile.SMS
Pour encoder ce fichier texte ou tout autre fichier nommé «TestFile.txt », la commande serait:
Base64 TestFile.SMS
Cette commande codera le fichier texte spécifié et imprimera sa forme codée sur la sortie standard comme indiqué dans la sortie de borne suivante:
Linuxhint @ Hp34: ~ $ Base64 TestFile.SMS
Ssbmb3zliexpbnv4ckkgtg92zsbmaw51apjiexvdmugtgudxgktgludxhiaw50iglzig15ighvv
bwvwywdlcg ==
Vous pouvez également enregistrer la sortie codée dans un fichier plutôt que d'imprimer à la sortie standard à l'aide de l'opérateur de redirection (>). La commande suivante convertira le texte dans le fichier à l'aide de Base64 et enregistrera la sortie dans un autre fichier nommé «EncodedFile.SMS". La commande n'imprime rien à l'écran.
Base64 TestFile.txt>.SMS
Pour afficher le fichier codé, vous pouvez utiliser la commande CAT:
Cat encodé.SMS
Sortie terminale:
Linuxhint @ Hp34: ~ $ Base64 TestFile.txt>.SMS
linuxhint @ hp34: ~ $ Cat encodedfile.SMS
Ssbmb3zliexpbnv4ckkgtg92zsbmaw51apjiexvdmugtgudxgktgludxhiaw50iglzig15ighvv
bwvwywdlcg ==
Fichier texte de décodage
Pour décoder un fichier texte codé, utilisez l'option -decode ou -d. Par exemple pour décoder le fichier texte codé de base64 «.txt », la commande serait:
Base64 -D.SMS
Cette commande décodera le fichier texte codé de base64 et imprimera le texte d'origine sur la sortie standard comme indiqué dans la sortie de borne suivante:
Sortie terminale:
linuxhint @ hp34: ~ $ base64 -d encodedfile.SMS
J'adore Linux
J'adore Linux
J'adore Linux
Linuxhint est ma page d'accueil
linuxhint @ hp34: ~ $
Encodage d'entrée utilisateur
En utilisant le codage Base64, nous pouvons coder toutes les données fournies par l'utilisateur. À cette fin, nous devrons créer un script qui prendra la saisie des utilisateurs, le codera à l'aide du codage de base64 et imprimera les données codées sur la sortie standard. Créer un script «Test.sh ”avec le code suivant:
#!/ bac / bash
# Imprimer le message pour demander la saisie
Echo "Fournir des données à encoder"
# Enregistrez l'entrée dans une variable nommée «Data»
lire les données
# Encoder en utilisant le codage Base64 et enregistrez la sortie dans une variable "Encod_data"
cod_data = 'echo -n $ data | base64 '
# Imprimer la sortie codée
Echo "Le texte codé est: $ cod_data"
Exécutez le script comme suit:
Test CHMOD 755.sh; ./test.shot
Après avoir exécuté le script, il vous sera demandé de saisir les données que vous souhaitez encoder. Tapez certaines données et appuyez sur Entrée, et vous recevrez la sortie codée à l'écran comme indiqué ci-dessous:
Sortie terminale:
linuxhint @ hp34: ~ $ chmod 755 Test.sh; ./test.shot
Fournir des données pour encoder
J'adore Linux
Le texte codé est: ssbsb3zligxpbnv4
Ce texte encodé peut être envoyé sur Internet ou à un autre programme, puis décodé plus tard en utilisant une commande simple. Pour cette commande, nous supposons le programme de réception, décoder.sh, a mis les données codées dans une variable de bash appelée Reçus_encoding.
#!/ bac / bash
Reçu_encoding = ssbsb3zligxpbnv4
Reçu_string = 'echo $ reçue_encoding | Base64 --Decode '
echo $ reçu_string
Ici, vous pouvez voir les résultats du programme de réception dans la sortie du terminal:
linuxhint @ hp34: ~ $ chmod 755 Decode.sh; ./décoder.shot
J'adore Linux
Conclusion
C'est ainsi que vous pouvez utiliser la base64 pour coder et décoder une chaîne ou un fichier à partir de la ligne de commande. Les résultats peuvent être imprimés sur la sortie standard, enregistrés dans une variable ou un fichier, ou transmis sur le réseau à un autre programme. Cependant, n'oubliez pas que le codage n'est pas similaire au chiffrement, et on peut facilement révéler les données codées, il n'est donc pas recommandé d'utiliser le codage pour la transmission de données sensibles à moins qu'elle ne soit également cryptée.