Base64 Encoding: Java – Python – Shell

Base64 ist einer der am häufigsten verwendeten Algorithmen, wenn es darum geht, Text in binären Code zu konvertieren.
Ein Beispiel für den Einsatz ist die Wandlung von Zugangsdaten (Username und Passwort). Auch wenn es hier deutlich sicherere Möglichkeiten gibt (bspw. public und private keys), wird von vielen APIs eine base64 kodierte Authentifizierung vorausgesetzt (immer noch besser als Usernamen und Passwörter im Klartext durchs Netz zu schieben).

Für alle die Text in base64-Code wandeln möchten, hier jeweils ein kleines Script, welches das Encoding in den Sprachen Java, Python und in der Shell umsetzt.

Base64 Encoding Java

Erstellt euch mit einem Editor eurer Wahl ein Textfile (in meinem Fall heißt das File encodeBase64.java) und fügt darin den folgenden Code ein:

class base64Encode {
        public static void main (String args[]) {
                String encodedString = java.util.Base64.getEncoder().encodeToString(args[0].getBytes());

                System.out.println("Base64Code: " + encodedString);
        }
}

Voraussetzung, dass ihr das File ausführen könnt, ist eine installierte Java-Version auf eurem Rechner.
Der zu codierende String kann beim Aufruf dann einfach als Parameter mitgegeben werden:

java encodeBase64.java "user:password"

Ausgabe: Base64Code: dXNlcjpwYXNzd29yZA==

Base64 Encoding Python

Auch hier erstellt ihr am besten wieder ein Textfile (in meinem Fall encodeBase64.py) und fügt darin den folgenden Code ein:

import sys
import base64


message_bytes = sys.argv[1].encode('ascii')
base64_bytes = base64.b64encode(message_bytes)
base64_message = base64_bytes.decode('ascii')

print("Base64Code:", base64_message)

Voraussetzung, dass ihr das File ausführen könnt, ist eine installierte Python-Version auf eurem Rechner. Das Script habe ich auf Python3 aufgebaut, es funktioniert allerdings auch unter Python2 (nur die Ausgabe sieht etwas anders aus).
Der zu codierende String kann beim Aufruf dann einfach mitgegeben werden:

python3 encodeBase64.py "user:password"

Ausgabe: Base64Code: dXNlcjpwYXNzd29yZA==

Base64 Encoding Shell

Was das Thema schnelle Umsetzung und kurze Schreibweise angeht, gewinnt die Shell mal wieder 🙂
Ihr müsst die Anweisung dabei nicht mal in ein File schreiben. Einfach eine Konsole/Terminal öffnen und folgenden Aufruf eingeben:

echo -n 'user:password' | base64

Ausgabe: dXNlcjpwYXNzd29yZA==

Solltet ihr Fragen oder Anmerkungen zum Artikel haben, könnt ihr euch gerne jederzeit bei mir melden

Weitere Blogeinträge