我已使用此OpenSSL的命令而建立的加密的消息:解密AES-256-CBC(鹽醃)密文的Javascript
openssl enc -aes-256-cbc -salt -in plaintext.txt -out cipher.enc
我試圖CryptoJS和this aes library解密它下面的實施例。我所有的都是胡言亂語。我的問題是解密失敗,因爲我不知道如何告訴javascript解密密碼是鹽漬的還是因爲它在「cbc-mode」中。 CryptoJS看起來更加靈活,所以它可能工作得很好。但是我應該給它提供什麼樣的參數?
注:這是在瀏覽器中運行,而不是在node.js中
一種密碼並不需要鹽; '-salt'參數僅適用於基於密碼的密鑰派生。 CBC模式下的密碼需要一個密鑰和一個初始化向量。您需要將'-K'和'-iv'參數傳遞給OpenSSL(或者,如果您想使用基於密碼的加密,則使用'-pass'參數;但是,您可能很難找到適用的密鑰導出函數)。無論哪種方式,在您繼續之前,請閱讀以下內容:http://www.matasano.com/articles/javascript-cryptography/ – ntoskrnl
閱讀[本頁](http://www.matasano.com/articles/javascript-密碼學/)的一些建議,爲什麼加密在瀏覽器JavaScript是一個壞主意。 –
在這種情況下,其實瀏覽器在我的PhoneGap/Cordova應用程序中。所以至少不是所有這些危險都應該適用。 – auramo