Grundlagen der Linux-Befehlszeile: Base64-Kodierung und -Dekodierung von Zeichenketten
12:08, 24.04.2024
Base64-Kodierung und -Dekodierung in der Linux-Kommandozeile: Ein Überblick
Unter einer Vielzahl von Methoden zur Darstellung von Binärdaten im ASCII-String-Format ist Base64 eine der gängigsten, die insbesondere für die Kodierung von Bildern und anderen Dokumenten in E-Mail-Anhängen und in URLs sowie in anderen Fällen, in denen etwas in reinen Text umgewandelt werden muss, verwendet wird. Im Folgenden zeigen wir Ihnen, wie Sie die Kommando-Terminal-Tools in Linux für die Kodierung und Dekodierung von Base64-Strings verwenden können.
1. die Verwendung von Base64
Base64 ist der Basisbefehl für base64, der sowohl zur Kodierung als auch zur Dekodierung verwendet werden kann.
1.1. Kodierung mit Base64
Um eine Datei oder ein Stück Text zu kodieren, verwenden Sie den Befehl:
base64 dateiname> Ausgabedatei
"Dateiname" ist durch den Namen der zu kodierenden Datei zu ersetzen und "Ausgabedatei" durch den gewünschten Namen für die kodierte Datei.
Um ein Stück Text zu kodieren:
echo -n "Ihrtext" | base64
Ersetzen Sie "Ihrtext" durch den Text, den Sie entsprechend kodieren wollen.
1.2. Dekodierung von Base64
Bei Base64 erfolgt die Dekodierung mit demselben Base-64-Befehl und der angehängten Option -d .
Um eine Datei zu dekodieren, geben Sie ein:
base64 -d kodierte Datei > Ausgabedatei
Kodierte Datei ist durch den Namen Ihrer Datei zu ersetzen, während Ausgabedatei durch den gewünschten Namen der Ausgabedatei zu ersetzen ist.
Um Text zu entschlüsseln, geben Sie ein:
echo -n "kodierter text" | base64 -d
Ersetzen Sie "kodierter text" durch den zu kodierenden Text.
Zum Beispiel:
Kodierung:
echo -n "Hello, Base64!" | base64
Ausgabe: SGVsbG8sIEJhc2U2NCE=
base64 mydocument.txt > encoded_document.txt
Dekodierung:
echo -n "SGVsbG8sIEJhc2U2NCE=" | base64 -d
Ausgabe: Hello, Base64!
base64 -d encoded_document.txt > decoded_document.txt
2. OpenSSL für Base64-Operationen
Eine weitere Option, die bei der Verwendung von OpenSSL zur Verfügung steht, ist, dass es unter anderem Base64 zur Kodierung und Dekodierung anbietet. Schauen wir uns das mal an.
Base64-Kodierung mit OpenSSL
Sie können eine Datei oder einen Text mit OpenSLL verschlüsseln, indem Sie den openssl enc Befehl mit der Option base64 verwenden.
Kodierung einer Datei:
openssl enc -base64 -in Dateiname -out Ausgabedatei
Ersetzen Sie Dateiname mit dem Namen der zu kodierenden Datei und Ausgabedatei mit dem Namen, den Sie für die kodierte Datei wünschen.
Zum Kodieren von Text:
echo -n "Ihrtext" | openssl enc -base64
Ersetzen Sie Ihr Text durch den Text, den Sie kodieren wollen.
Base64-Dekodierung mit OpenSSL
Die Dekodierung einer Base64-kodierten Datei oder Zeichenkette wird mit dem gleichen openssl enc Befehl sowie den -d und -base64 Optionen durchgeführt.
Um eine Datei zu dekodieren:
openssl enc -base64 -d -in kodierte Datei -out Ausgabedatei
kodierte Datei ist durch den Namen der Base64-kodierten Datei zu ersetzen und Ausgabedatei durch den Namen, den Sie für die dekodierte Datei wünschen.
Um einen Text zu dekodieren:
echo -n "kodierter Text" | openssl enc -base64 -d
kodierter Text ist durch den Base64-kodierten Text zu ersetzen.
Beispiele:
Kodierung:
echo -n "Hallo, OpenSSL!" | openssl enc -base64
Ausgabe SGVsbG8sIE9wZW5TU0wTIQ==
openssl enc -base64 -in mydocument.txt -out encoded_document.txt
Dekodieren:
echo -n "SGVsbG8sIE9wZW5TU0wTIQ==" | openssl enc -base64 -d
Ausgabe: Hallo, OpenSSL!
openssl enc -base64 -d -in encoded_document.txt -out decoded_document.txt
3. Base64 Operations with Python
You can also perform Base64 operations with Python and you can do it straight away, since base64 module is included in the standard Python library.
Base64-Kodierung mit Python
Die Base64-Kodierung mit Python wird mit der Funktion base64.b64encode() durchgeführt.
Kodierung einer Zeichenkette:
import base64
original_text = "Hello, Base64!"
encoded_text = base64.b64encode(original_text.encode()).decode()
print(encoded_text)
Im obigen Beispiel wird die "Hello, Base64!" in seine Base64-kodierte Darstellung umgewandelt.
Kodierung einer Datei:
import base64
with open("filename", "rb") as file:
binary_data = file.read()
encoded_data = base64.b64encode(binary_data).decode()
with open("encoded_file.txt", "w") as encoded_file:
encoded_file.write(encoded_data)
"Dateiname" ist durch den Namen der zu kodierenden Datei und "encoded_file.txt" durch den gewünschten Namen der kodierten Datei zu ersetzen.
Base64 Decoding with Python
Base64 Decodierung mit Pythong kann mit der base64.b64decode() Funktion durchgeführt werden.
Um einen String zu dekodieren:
import base64
encoded_text = "SGVsbG8sIEJhc2U2NCE="
decoded_text = base64.b64decode(encoded_text).decode()
print(decoded_text)
In diesem Beispiel wird die Base64-kodierte Zeichenfolge "SGVsbG8sIEJhc2U2NCE=". dekodiert.
Dekodierung einer Datei:
import base64
with open("encoded_file.txt", "r") as encoded_file:
encoded_data = encoded_file.read()
decoded_data = base64.b64decode(encoded_data)
with open("decoded_file.bin", "wb") as decoded_file:
decoded_file.write(decoded_data)
"encoded_file.txt" ist durch den Namen der Base64-kodierten Datei zu ersetzen und "decoded_file.bin" durch den gewünschten Namen für die dekodierte Datei.
4. Base64-Manipulation in Perl
Perl bietet auch Optionen für den Einsatz von Base64-Kodierungs- und Dekodierungsoperationen mit einem speziellen Modul MIME::Base64 mit encode_base64- und decode_base64-Funktionen zur Kodierung und Dekodierung von Daten im Base64-Format.
Base64-Kodierung in Perl
Um eine Zeichenkette zu kodieren:
use MIME::Base64;
my $original_text = "Hello, Base64!";
my $encoded_text = encode_base64($original_text);
print $encoded_text;
Im obigen Beispiel wird die Zeichenfolge "Hello, Base64!" in ihre Base64-Darstellung kodiert.
So kodieren Sie eine Datei:
use MIME::Base64;
my $filename = "filename";
open my $fh, '<', $filename or die "Cannot open file: $!";
my $binary_data = do { local $/; <$fh> };
close $fh;
my $encoded_data = encode_base64($binary_data);
open my $encoded_fh, '>', "encoded_file.txt" or die "Cannot open file: $!";
print $encoded_fh $encoded_data;
close $encoded_fh;
Der "Dateiname" ist durch den Namen der zu kodierenden Datei zu ersetzen und "encoded_file.txt" durch den gewünschten Dateinamen.
Base64-Dekodierung in Perl
Die Dekodierung von Base64-kodierten Daten in Perl kann mit der Funktion decode_base64 aus dem Modul MIME::Base64 durchgeführt werden.
Dekodierung einer Zeichenkette:
use MIME::Base64;
my $encoded_text = "SGVsbG8sIEJhc2U2NCE=";
my $decoded_text = decode_base64($encoded_text);
print $decoded_text;
Im obigen Beispiel wird die Base64-kodierte Zeichenfolge "SGVsbG8sIEJhc2U2NCE=" dekodiert.
Dekodierung einer Datei:
use MIME::Base64;
my $encoded_filename = "encoded_file.txt";
open my $encoded_fh, '<', $encoded_filename or die "Cannot open file: $!";
my $encoded_data = do { local $/; <$encoded_fh> };
close $encoded_fh;
my $decoded_data = decode_base64($encoded_data);
open my $decoded_fh, '>', "decoded_file.bin" or die "Cannot open file: $!";
print $decoded_fh $decoded_data;
close $decoded_fh;
"encoded_file.txt" ist durch den Namen der Base64-kodierten Datei "decoded_file.bin" mit dem gewünschten Namen für die dekodierte Datei zu ersetzen.
Schlussfolgerung
Base64 ist ein wichtiges Werkzeug für die Dekodierung von Informationen in die Textform sowie für deren endgültige Dekodierung. In der obigen Anleitung haben wir die Verwendung des Base64-Tools für verschiedene Schnittstellen behandelt. Wir hoffen, dass diese Anleitung klar genug war und wünschen Ihnen viel Erfolg.