base64 encode / decode mit openssl

An E-Mails angehängte Dateien werden zum Versand base64 kodiert; dies zeigt beispielsweise der Blick in den Quelltext einer E-Mail mit Anhang:

(...)
Content-Type: image/jpeg; name="bild.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="bild.jpg"
(...)

Der base64-kodierte Block beginnt zum Beispiel so:

/9j/4AAQSkZJRgABAQEASABIAAD//gAUKGMpIDIwMTEgaGVsc2ljLmRl
/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUKBwcGCAwKDAwLCg
sLDQ4SEA0OEQ4LCxAWEBETFBUVFQwPFxgWFBgSFBUU/9sAQwED
BAQFBAUJBQUJFA0LDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ
UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgDhASwAwEh
AAIRAQMRAf/EAB0AAAAHAQEBAAAAAAAAAAAAAAECAwQFBgcACAn/
xABPEAACAQMCBAUBBgQDBgQEAA8BAgMABBEFIQYSMUEHEyJRYXE

Die angehängte Datei ist nun base64-kodiert quasi im Textformat angehängt.

Das Kodieren und Dekodieren kann mit openssl erfolgen:

Kodieren einer Datei mit base64:
$ openssl enc -base64 -in bild.jpg -out bild.jpg.b64

Dekodieren einer base64-kodierten Datei:
$ openssl enc -d -base64 -in bild.jpg.b64 -out bild.jpg

An Standardeingabe und Standardausgabe
$ echo "Hallo"|openssl base64
SGFsbG8K

$ echo "SGFsbG8K" |openssl base64 -d
Hallo

Die Kommentarfunktion ist geschlossen.