我使用Crypto-JS source site at Google code:
中的示例组合了一个简单的测试在页眉中:
<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
我错过了什么?
答案 0 :(得分:6)
decrypted.toString(CryptoJS.enc.Utf8) // "Message"
请参阅https://code.google.com/p/crypto-js/#The_Hasher_Output
你得到的哈希值还不是一个字符串。它是 WordArray 对象。在字符串上下文中使用WordArray对象时,它会自动转换为 hex 字符串。
您可以通过显式调用 toString 方法并传递编码器,将WordArray对象转换为其他 格式