Text und Passphrase einfügen: Verschlüsseln erzeugt einen gesalzenen Container im OpenSSL-Stil, Entschlüsseln liest vorhandenen DES-Geheimtext zurück. DES hat 56 Bit und ist für ältere Daten gedacht, nicht für echte Geheimnisse.
Läuft lokal in deinem BrowserEin Textfeld und ein Passphrasen-Feld: Verschlüsseln macht aus Text einen gesalzenen Container im OpenSSL-Stil; vorhandenen DES-Geheimtext einfügen und Entschlüsseln liest ihn zurück. Das Ergebnis erscheint unter den Schaltflächen.
Alles läuft mit CryptoJS in der Seite, Text und Passphrase werden nicht hochgeladen. DES ist eine 56-Bit-Chiffre aus den 1970ern, diese Seite dient also dem Lesen und Reproduzieren älterer DES-Daten, nicht dem Schutz neuer Geheimnisse.
Die Ausgabe ist der Container, den CryptoJS und openssl enc erzeugen: die acht Bytes Salted__ (U2FsdGVkX1 in Base64), acht zufällige Salt-Bytes und dann der Geheimtext. DES ist eine Blockchiffre mit 8-Byte-Blöcken im CBC-Modus mit PKCS#7-Padding, der letzte Block fügt also 1 bis 8 Bytes hinzu: Ein 2-Byte- und ein 3-Byte-Beispiel ergeben beide 24-Byte-Container.
Das Salt ist bei jedem Lauf zufällig, derselbe Text mit derselben Passphrase ergibt also jedes Mal eine andere Zeichenkette; eine identische Ausgabe wäre ein Fehler.
Schlüssel und IV werden mit dem MD5-basierten EVP_BytesToKey aus Passphrase und Salt abgeleitet — dieselbe Ableitung, die openssl enc mit -md md5 verwendet. Ein Container dieser Seite lässt sich mit openssl enc -d -des-cbc -md md5 -a -k "Passphrase" entschlüsseln, und mit diesem OpenSSL-Befehl erzeugter Geheimtext lässt sich zurück in die Seite einfügen; beide Richtungen wurden geprüft.
DES nutzt einen 56-Bit-Schlüssel, und OpenSSL warnt bereits, dass diese Schlüsselableitung veraltet ist; die Seite behält sie absichtlich, weil vorhandene DES-Daten sie verwenden.
Eine falsche Passphrase, ein Text, der kein Container ist, und veränderter Geheimtext scheitern an der Padding-Prüfung: Die Seite leert die Ausgabe und zeigt einen Hinweis, statt das vorherige Ergebnis stehen zu lassen. Ein leeres Feld oder eine leere Passphrase werden genauso abgewiesen, bevor etwas läuft.
Der Container hat weder MAC noch Authentifizierungs-Tag, ein entschlüsselter Wert ist also ein Datum und kein Beweis für Echtheit. DES hier nur zum Lesen oder Reproduzieren alter Daten verwenden und für Neues eine moderne authentifizierte Chiffre.