Übersicht

In diesem Tutorial lernen Sie, wie Sie base64-Kodierung und -Dekodierung über die Kommandozeile unter Linux durchführen. Sie werden auch erfahren, was base64-Kodierung ist und warum sie niemals verwendet werden sollte, um Daten vor unbefugtem Zugriff zu schützen.

Die base64-Kodierung und -Dekodierung von Daten hat viele Anwendungsfälle. Einer davon ist die Sicherstellung der Datenintegrität bei der Übertragung von Daten über das Netzwerk, ein anderer die Speicherung von Secrets in Kubernetes.

Nach dem Lesen dieses Tutorials werden Sie verstehen, wie Sie Dateien oder Strings einfach kodieren und wieder dekodieren können.

Wie man base64 unter Ubuntu, Debian, OSX und Red Hat kodiert

Wenn Sie gängige Linux-Distributionen wie Ubuntu, Debian, CentOS oder Red Hat verwenden, ist das Befehlszeilentool base64 in der Regel vorinstalliert. Sie sollten keine zusätzlichen Schritte durchführen müssen.

OSX wird ebenfalls mit einer eigenen Version von base64 ausgeliefert.

Warum Base64 Daten kodiert

Die Übertragung einer ASCII-Datei über das Netzwerk kann zu Beschädigungen führen, wenn sie nicht korrekt dekodiert wird. Der Grund dafür ist, dass ASCII-Dateien in Bytes umgewandelt werden, und wenn diese Bytes falsch zurück nach ASCII dekodiert werden, werden die Daten beschädigt.

Base64 wurde eingeführt, um ASCII-Daten in beliebige Bytes zu konvertieren, die dann als Bytes übertragen und korrekt zurück nach ASCII dekodiert werden können.

Kurz gesagt, stellt die Base64-Kodierung die Integrität unserer Daten sicher, wenn sie über das Netz übertragen werden.

Base64 ist keine Verschlüsselung

Die Kodierung von Dateien ist keine Verschlüsselung und sollte niemals dazu verwendet werden, sensible Daten auf der Festplatte zu sichern. Vielmehr ist es eine nützliche Methode, um große Daten in Form einer Zeichenkette zu übertragen oder zu speichern.

Während es die eigentlichen Daten vor Surfern verschleiern kann, kann jeder, der Zugang zu base64-kodierten Daten hat, diese leicht entschlüsseln.

Base64-Kodierung einer Zeichenkette

Um eine Zeichenkette mit base64 zu kodieren, kann man einen echo-Befehl in das base64-Befehlszeilentool leiten. Um sicherzustellen, dass keine zusätzlichen, versteckten Zeichen hinzugefügt werden, verwenden Sie das -n-Flag.

Ohne das -n-Flag können Sie versteckte Zeichen, wie Zeilenumbrüche oder Leerzeichen, einfangen, die Ihre base64-Kodierung beschädigen werden.

echo -n 'my-string' | base64

Das gibt folgendes aus

bXktc3RyaW5n

Base64 Kodierung einer Datei

Um eine Datei base64 zu kodieren

base64 /path/to/file

Das gibt einen sehr langen, base64 kodierten String aus. Sie können stattdessen den stdout in eine Datei schreiben.

bas64 /path/to/file > output.txt

Strings dekodieren

Um mit base64 zu dekodieren, müssen Sie das --decode Flag verwenden. Mit der kodierten Zeichenkette können Sie einen Echo-Befehl in base64 leiten, wie Sie es für die Kodierung getan haben.

Anhand des oben gezeigten Beispiels dekodieren wir die Zeichenkette in ihre ursprüngliche Form zurück.

echo -n 'bXktc3RyaW5n' | base64 --decode

Wenn die Kodierung nicht beschädigt wurde, sollte die Ausgabe die ursprüngliche Zeichenkette sein.

Dekodierung von Dateien

Um eine Datei mit base64-kodiertem Inhalt zu dekodieren, geben Sie einfach den Pfad der Datei mit dem --decode-Flag an.

base64 --decode /path/to/file

Wie bei der Kodierung von Dateien wird die Ausgabe eine sehr lange Zeichenkette der Originaldatei sein. Vielleicht möchten Sie stdout direkt in eine Datei ausgeben.

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

Abschluss

In diesem Tutorial haben Sie gelernt, wie man Dateien und Strings mit base64 kodiert. Das ist etwas, das häufig gemacht wird, um Dateien so zu übertragen, dass sie

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.