Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Crypto JS中的Decrypt提供数字十六进制输出,而不是原始明文字符串_Javascript_Cryptojs - Fatal编程技术网

Javascript Crypto JS中的Decrypt提供数字十六进制输出,而不是原始明文字符串

Javascript Crypto JS中的Decrypt提供数字十六进制输出,而不是原始明文字符串,javascript,cryptojs,Javascript,Cryptojs,我使用以下示例进行了一个简单的测试: 在页眉中: <script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"></script> 但结果是: encrypted: U2FsdGVkX19hsNqFBS5xcUoVBCu/hPHepEwZchqnUVU= decrypted: 4d657373616765 我错过了什么 decrypted.toString(Cryp

我使用以下示例进行了一个简单的测试:

在页眉中:

<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"></script>
但结果是:

encrypted: U2FsdGVkX19hsNqFBS5xcUoVBCu/hPHepEwZchqnUVU=
decrypted: 4d657373616765

我错过了什么

decrypted.toString(CryptoJS.enc.Utf8) // "Message"

你得到的哈希值还不是字符串。它是一个字数组对象。当您在字符串上下文中使用WordArray对象时,它会自动转换为一个十六进制字符串

通过显式调用toString方法并传递编码器,可以将WordArray对象转换为其他格式


仅供参考,输出是明文中每个字符的数字代码点值,表示为两位十六进制数。使用
String.fromCharCode.apply(String,“4d657373616765.match(/.{2}/g).map(函数(d){return parseInt(d,16);}))
观察这一点。库的“文档”当然可以改进。
decrypted.toString(CryptoJS.enc.Utf8) // "Message"