Kin*_*one 3 javascript encryption encoding cryptography cryptojs
您好我正在尝试使用crypto-js解密加密的aes字符串,但它似乎无法正常工作.
我正在使用:
<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"></script>
<script>
var encrypted = CryptoJS.AES.encrypt("Message", "Secret Passphrase");
var decrypted = CryptoJS.AES.decrypt(encrypted, "Secret Passphrase");
</script>
Run Code Online (Sandbox Code Playgroud)
但我的结果是:
encrypted: U2FsdGVkX19whKq54yOQt3l1erbtEtn/M0qJjAH+E/E=
decrypted: 4d657373616765
Run Code Online (Sandbox Code Playgroud)
我的期望是它返回"消息".我错过了什么?
所有CryptoJS.<blockcipher>.decrypt()函数的返回类型是WordArrayCryptoJS中二进制数据的本机表示.当您强制打印(自动调用toString())时,它包含的二进制数据将是十六进制编码.
如果要使用不同的编码,则需要指定它.这里有些例子:
console.log(decrypted.toString()); // Hex encoded
console.log(decrypted.toString(CryptoJS.enc.Hex)); // Hex encoded
console.log(CryptoJS.enc.Hex.stringify(decrypted)); // Hex encoded
console.log(decrypted.toString(CryptoJS.enc.Utf8)); // UTF-8 encoded
console.log(CryptoJS.enc.Utf8.stringify(decrypted)); // UTF-8 encoded
console.log(decrypted.toString(CryptoJS.enc.Base64)); // Base64 encoded
console.log(CryptoJS.enc.Base64.stringify(decrypted)); // Base64 encoded
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
944 次 |
| 最近记录: |