Grundlagen der Linux-Befehlszeile: Base64-Kodierung und -Dekodierung von Zeichenketten

Grundlagen der Linux-Befehlszeile: Base64-Kodierung und -Dekodierung von Zeichenketten

24.04.2024
Autor: HostZealot Team
2 min.
95

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.

Verwandte Artikel