So habe ich ein Stück Code, der eine Zeichenfolge mit einer Passphrase verschlüsselt. Es nutzt die CryptoJS AES Verschlüsselungsfunktion (CryptoJS.AES.encrypt
) und sieht wie folgt aus ...Entschlüsseln CryptoJS AES-Daten (mit Passphrase) in Forge.js
CryptoJS.AES.encrypt(data, password).toString();
Auch in Zukunft will ich nicht CryptoJS zu verwenden, wie es offiziell veraltet ist nicht gepflegt/und ich würde statt wie Forge.js zu verwenden. Ich habe versucht, die Forge.js-Dokumentation auf GitHub zu lesen, um eine Lösung zu finden, konnte aber nichts finden, das Passphrasen verwendet, anstatt den Schlüssel manuell zu erstellen. & IV.
ich einen Blick auf dem CryptoJS Archiv unter https://code.google.com/archive/p/crypto-js/ genommen habe und es scheint, dass, wenn die encrypt
Funktion eine Zeichenfolge als das zweite Argument (key) übergeben wird es als Passwort verwendet wird, einen Schlüssel zu leiten und IV. Aber es ist nicht detailliert, wie es das macht.
Es scheint, dass Base64 Dekodierung das Ergebnis gibt eine Zeichenfolge, die mit Salted__
dann ein Komma und dann den verschlüsselten Blob von Binärtext beginnt, und ich bin mir nicht sicher, wie ich die "Salz" zu Forge übergeben würde.
Wie würde ich diesen Datenblob nur mit Forge.js entschlüsseln?
Ich schätze es, das ist sehr viel die Antwort auf meine Frage. Ich habe übersehen, dass ich das erwähnte 3DES-Beispiel mit AES wiederverwenden konnte. –
Ich merke, dass ich nicht antwortete, nachdem ich Ihren Vorschlag ausprobiert hatte. Vielleicht verpasse ich etwas, aber das einfache Ändern von "3DES" zu "AES" und von "8" zu "16" für die "ivSize" ergibt nicht die gleichen Ergebnisse. Ich habe versucht herauszufinden, was das Problem sein könnte, da Schmiede sagt, dass es erfolgreich war, aber die Ausgabe ist komplett anders - also frage ich mich, ob es ein Problem mit der Codierung ist? Nicht so sicher. –
Forge gibt folgenden String aus ... '1pÍ0¿UÚ @ G4WtCÕ5¸« ñZ¿} Á6 © _ͬiñýü¾¸iÔú®ð5ÕÆÉP¹ú) & nQOW »AMب3 {~ 5 = O! ¼ = W²Ò? [...] ' Wo, wie cryptojs gibt das folgende ... ' ----- BEGIN RSA PRIVATE KEY ----- MIIEowIBAAKCAQEAqSFulewpMjRBLhiiorbvWleD5I [...] ' Ich würde gerne diese markieren Als richtiger Kommentar, aber mit dem obigen Ausschnitt würde ich nicht wollen, dass irgendjemand anderes auf dieses Problem stößt. –