1

我有一个用这个 openssl 命令创建的加密消息:

openssl enc -aes-256-cbc -salt -in plaintext.txt -out cipher.enc

我已经尝试过 CryptoJS 和这个 aes 库来按照示例对其进行解密。我得到的只是胡言乱语。我的问题是解密失败,因为我不知道如何告诉 javascript 解密密码是加盐的,或者因为它处于“cbc 模式”。CryptoJS 看起来更灵活,所以它可能会很好地工作。但是我应该输入什么样的参数呢?

注意:这是在浏览器中运行,而不是在 node.js 中

4

1 回答 1

1

我使用以下方法将“消息”放入文件中:

echo -n "Message" > plaintext.txt

然后我用了你的例子,并password作为我的密码

openssl enc -aes-256-cbc -salt -in plaintextut cipher.enc
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:

然后我需要 Base64 版本的cipher.enc

cat cipher.enc | base64
U2FsdGVkX1/oA4O+uXXBXAjAenRJwpUV4UqQp4aYCpk=

最后,这是对我有用的 CryptoJS:

var dec = CryptoJS.AES.decrypt("U2FsdGVkX1/oA4O+uXXBXAjAenRJwpUV4UqQp4aYCpk=", "password");
var plaintext = CryptoJS.enc.Latin1.stringify(dec);
于 2013-07-28T23:55:00.770 回答