我使用Google代码中的Crypto源站点中的示例编写了一个简单的测试
在页眉中:
<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"></script>在Javascript函数中:
var encrypted = CryptoJS.AES.encrypt("Message", "Secret Passphrase");
var decrypted = CryptoJS.AES.decrypt(encrypted, "Secret Passphrase");
alert('encrypted: '+encrypted+' decrypted: '+decrypted);但产出如下:
encrypted: U2FsdGVkX19hsNqFBS5xcUoVBCu/hPHepEwZchqnUVU=
decrypted: 4d657373616765

我遗漏了什么?
发布于 2014-10-08 14:18:02
decrypted.toString(CryptoJS.enc.Utf8) // "Message"请参阅输出
你得到的散列还不是一个字符串。它是一个WordArray对象。在字符串上下文中使用WordArray对象时,它会自动转换为十六进制字符串。 您可以通过显式调用WordArray toString方法并传递编码器,将对象转换为其他格式。
https://stackoverflow.com/questions/26259009
复制相似问题