j'ai un message chiffré créé avec cette commande openssl:AES-256 Déchiffrement-CBC (salé) cryptogramme avec Javascript
openssl enc -aes-256-cbc -salt -in plaintext.txt -out cipher.enc
J'ai essayé CryptoJS et this aes library pour le déchiffrer en suivant les exemples. Tout ce que je sors est du charabia. Ma réponse est que le décryptage échoue parce que je ne sais pas comment dire au décryptage javascript que le chiffrement est salé ou parce qu'il est en mode "cbc". CryptoJS semble plus flexible, donc cela pourrait très bien fonctionner. Mais quel type de paramètres dois-je nourrir?
Note: Ceci est en cours d'exécution dans un navigateur, pas Node.js
Un chiffre ne prend pas un sel; l'argument '-salt' ne s'applique qu'à la dérivation de clé basée sur un mot de passe. Un chiffrement en mode CBC prend une clé et un vecteur d'initialisation. Vous devez passer les arguments '-K' et' -iv' à OpenSSL (ou bien, si vous voulez utiliser un chiffrement basé sur un mot de passe, l'argument '-pass', mais vous pourriez avoir du mal à trouver une implémentation JavaScript du fonction de dérivation de clé applicable). De toute façon, avant de continuer, s'il vous plaît lire ceci: http://www.matasano.com/articles/javascript-cryptography/ – ntoskrnl
Lire [cette page] (http://www.matasano.com/articles/javascript- cryptography /) pour quelques conseils sur pourquoi crypto dans le navigateur JavaScript est une mauvaise idée. –
En fait, le navigateur est dans mon application PhoneGap/Cordova dans ce cas. Donc au moins tous ces dangers ne devraient pas s'appliquer. – auramo