base64 Daten Generator von Php-Space.info
Hier können Sie Ihr String bzw. Code mit base64_encode() verschlüsseln (Engl. encode)
Hier können Sie Ihr Code mit base64_decode() entschlüsseln (Engl. decode)
Beispiel Code (Engl.: example source)
<?php
/**
* url for encoding
*/
$url = 'https://www.php-space.info';
/**
* convert with base64
*/
$data = base64_encode($url);
/**
* view data with encode
*/
echo 'Encode: '. $data.'<br>';
/**
* view data with decode
*/
echo 'Decode: '.base64_decode($data);
?>
Ausgabe:
Encode: aHR0cDovL3d3dy5waHAtc3BhY2UuaW5mbw== Decode: https://www.php-space.info
Was ist die Verschlüsselungsmethode
Base64?
Base64 ist eine Verschlüsselungsmethode
in der Programmierung. Ziel ist es, beliebige
Daten, Datein (Engl.: File) in eine Zeichenfolge umzuwandeln,
die Bestandteil eines jeden lateinischen
Schriftsatzes ist. Dies ist sinnvoll
beim Versand von E-Mails, denn oft werden
die unterschiedlichsten Anhänge
versendet, die über komplizierte
Zeichen verfügen. Daher wird vor den Versand, der Anhang
einer E-Mail vorher in ein Binary File umgewandelt.
Dank dieser Verschlüsselungsmethode
können Anhänge
von E-Mails problemlos übertragen
werden. Mit dieser Methode werden 8-Bit-Binärdaten
kodiert (Engl.: encoded), zu denen die ZIP-Dateien gehören,
die Ihnen häufig in Form der E-Mail-Anhänge
begegnen. Alle Daten werden dabei in
ASCII-Zeichen umgewandelt, die unabhängig
von einer Codepage sind. Der Name Base64
leitet sich aus dem reduzierten Basiszeichensatz
ab, der aus 64 Zeichen besteht.
Für das Verständnis der Base64-Verschlüsselung
benötigen Sie Kenntnisse über
den ASCII-Code. ASCII steht für
American Standard Code for Information
Interchange, was soviel wie amerikanischer
Standardcode für den Informationsaustausch
bedeutet. Ein Zeichen wird dabei in der
Datengröße von 8 bit, das
einem Byte entspricht, verschlüsselt.
Das Bit ist die kleinste Informationseinheit,
für die nur zwei Zustände infrage
kommen, also 1 oder 0.
Bei zwei Bits sind bereits vier Zustände
möglich, und zwar 00, 01, 10 und
11. Die Zahl der möglichen Zustände
verdoppelt sich bei jedem weiteren Bit,
so bestehen bei drei Bits bereits acht
Möglichkeiten. Der Mindestzeichenumfang
bei der ASCII-Codierung umfasst 128 Zeichen,
da häufig für die Codierung
von Zeichen ein Bit als Prüfbit
verwendet wird. Jedem Zeichen wird im
ASCII-Code eine Nummer zwischen 1 und
128 zugewiesen. Diese Verschlüsselung
ist einheitlich in verbindlichen Tabellen
festgelegt.
Wird kein Prüfbit genutzt, steht
ein Umfang von 256 Zeichen zur Verfügung.
Damit können Sonderzeichen verschlüsselt
werden. Die Verschlüsselung der
Sonderzeichen erfolgt nach verschiedenen
Zeichensätzen. Zumeist sind nicht
alle Nummern mit Zeichen belegt. Je nach
Zeichensatz sind verschiedene Tabellen
verfügbar. Nur ungefähr 100
Zeichen innerhalb des ASCII-Codes sind
standardisiert.
Übertragen Sie E-Mails, wird dafür
der ASCII-Code genutzt. Die Übertragung
erfolgt häufig nur mit 7-Bit-Zeichensätzen,
um die standardisierten Zeichen zu nutzen.
Sonderzeichen können dabei nicht
genutzt werden. Um Sonderzeichen übertragen
zu können, ist die Codierung mit
8-Bit-Zeichensätzen, also mit dem
erweiterten ASCII-Code, erforderlich.
Da Anhänge an E-Mails zusammen mit
der E-Mail verschickt werden, erfolgt
vor der Versendung die Umwandlung in
Zeichen des ASCII-Codes.
Da viele Sonderzeichen in den Anhängen
enthalten sind und dies zu Problemen
bei der Übertragung führen
könnte, wurde Base64 zur Codierung
der Anhänge entwickelt. Nur die
Groß- und Kleinbuchstaben des Alphabets
ohne Umlaute, also von A bis Z und a
bis z sowie die Ziffern von 0 bis 9 sowie
die Zeichen „/“ und „+“ werden
für die Codierung genutzt, was insgesamt
64 Zeichen ausmacht. Diese 64 Zeichen
entsprechen 6 bit. Bei Base64 wird ebenso
wie beim ASCII-Code jedem Zeichen standardgemäß eine
Nummer zugewiesen, die verbindlich in
einer Tabelle festgelegt ist. Damit ist
die Codierung allerdings noch nicht möglich,
denn möchten Sie eine Zeichenfolge
codieren, müssen Sie sie zuerst
in die Zeichen des ASCII-Codes und
deren achtstellige Bitfolge umwandeln.
Die Textlänge sollte dabei durch
3 teilbar sein. Ist dies nicht möglich,
wird mit Nullen aufgefüllt, damit
sich ein Vielfaches von 3 ergibt. Die
achtstelligen Bitfolgen werden aneinandergereiht
und in Abschnitte mit jeweils 6 Bit unterteilt.
Daraus werden wiederum Zahlenwerte gebildet,
denen in der Tabelle des Base64-Codes
ein Zeichen zugewiesen ist, das nun für
die Codierung genutzt wird. Die Zeichen
des Base64-Codes werden nun aneinandergereiht.
Die Zeichenfolge ist jetzt codiert. Sie
hat keinerlei Ähnlichkeit mehr mit
dem Ausgangstext. In umgekehrter Form
können Sie die Zeichenfolge wieder
decodieren.
Doch keine Angst, Sie müssen für
die Codierung nicht so komplizierte,
aufwändige Schritte anwenden, sonst
wäre es nahezu unmöglich, einen
Anhang an eine E-Mail zu codieren. Es
stehen technische Hilfsmittel zur Verfügung.
Die Verschlüsselung erfolgt mithilfe der PHP-Programmierung. Sie wird
von professionellen Programmierern benutzt.
Damit Sie selbst Daten verschlüsseln
können, werden Lehrgänge und
Bücher angeboten, in denen Grundkenntnisse
vermittelt werden.
Grundsätzlich können Sie mit
der Funktion base64_encode(...) einen
Text in Base64 codieren. Im Gegensatz
dazu nutzen Sie die Funktion base64_decode(...),
um eine codierte Zeichenfolge wieder
zu decodieren, also in den Ausgangstext
umzuwandeln. Erfahrene Programmierer
nutzen verschiedene Versionen für
die Codierung und Decodierung.
Ein Anwendungsgebiet von Base64 ist
der Einbau von Bildern und Grafiken in
HTML-Dokumente, ohne dazu eine Bilddatei
zu verwenden. Dies hat den Vorteil, dass
Bilder vor unberechtigtem Zugriff geschützt
werden. In JavaScript kann Base64 für
die Codierung und Decodierung von Strings
und Streams angewendet werden. Quellcodes
von PHP-Skripten lassen sich auf diese
Art verschlüsseln.
Ein Vorteil von Base64 ist die gute
Komprimierbarkeit der Daten. Diese Methode
ermöglicht eine sichere Datenübertragung, überall
dort, wo Zeichen im 8-Bit-Format sonst
nicht sicher übertragen werden könnten.
Es handelt sich um die sicherste Form
der Codierung. Selbst bei älteren
Leitungen, die nur eine langsame Übertragung
ermöglichen, kann eine sichere Übertragung
erfolgen. Alle 64 Zeichen, die für
die Codierung genutzt werden, erscheinen
in allen Zeichencode-Tabellen an der
gleichen Stelle.
Der Austausch von Daten ist somit weltweit
möglich, unabhängig von sprachspezifischen
Zeichen wie Umlauten usw. und unabhängig
von der Internetplattform. Abhängig
von der Version, die für die Codierung
verwendet wird, können verschiedene
Konvertierungen entfallen, ein Zugriff
auf Speicherbereiche der für die
Codierung genutzten Strings ist möglich.
Damit sparen Sie Zeit. Nicht von der
Hand zu weisen ist der Vorteil, dass
Wege, die eigentlich nur für die Übertragung
von Texten gedacht sind, genutzt werden
können, um Dateien mit beliebigen
Inhalten zu übertragen.
Base64 hat nicht nur Vorteile. Ein klarer
Nachteil ist der hohe Platzbedarf, denn
eine verschlüsselte Nachricht ist
um ein Drittel größer als
der Originaltext. Daher besteht ein erhöhter
Bedarf an Speicherplatz. Ein weiterer
Nachteil ist, dass keine klaren Anfangs-
und Endmarkierungen vorhanden sind und
immer erst mit Nullen aufgefüllt
werden muss, wenn die Textlänge
nicht durch 3 teilbar ist. Ein entscheidender
Nachteil besteht darin, dass keine Prüfalgorithmen
vorgesehen sind, mit denen Übertragungsfehler
aufgedeckt und behoben werden können.
Große Dateien, die einen großen
Speicherplatz einnehmen, können
nicht in kleinere Einheiten aufgeteilt
werden. Nicht immer wird der Original-Name
einer Datei eingebettet. Base64 ist nur
bedingt für die Codierung großer
Film-, Audio- oder Programmdateien geeignet,
da sie nicht unterteilt werden können.
Um dieses Manko zu beheben, wurden bereits
Nachfolgemethoden entwickelt.
Abschließend ist zu sagen, dass
die Anwendung viele Vorteile hat und
sich vor allem durch Sicherheit auszeichnet,
auf die Sie bei anderen Verschlüsselungsmethoden
nicht immer bauen können. |