【发布时间】:2013-08-28 03:18:59
【问题描述】:
我正在使用这个简洁的库 (https://code.google.com/p/crypto-js/#AES) 来加密我的消息。
来自以下示例 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");
</script>
当我 document.write(encrypted) 它返回:
"U2FsdGVkX18W1n0wES5YsBzpRoRB1iu2KqzQiUSe6zE="
这是我想要的。但是当我 console.log(encrypted) 它返回:
{ 初始化:[函数],'$super':{初始化:[函数], toString: [函数], '$超级': { 扩展:[功能], 创建:[功能], 初始化:[功能], 混入:[功能], 克隆:[函数]}},密文:{字: [-463593157, -130193625, 475395301, 1812962665, -1322700187, 433662359, 1675036770, -337777864], sigBytes: 32 }, 键: { 初始化: [Function], '$超级': {初始化:[功能], toString: [函数], 连接:[功能], 夹子:[功能], 克隆:[功能], 随机:[功能], '$super': [对象] }, 字: [ -1836471768, 609934685, -835470701, 413762839, 1279413942, -1961507681, -1590403020, 392722880, 2059661770, 1403440185, 1364381326, 1252361221], sigBytes: 32 }, iv: { init: [Function], '$超级': {初始化:[功能], toString: [函数], 连接:[功能], 夹子:[功能], 克隆:[功能], 随机:[功能], '$super': [对象] }, 话:[2059661770, 1403440185, 1364381326, 1252361221], sigBytes: 16 }, 算法: { _doReset: [Function], 加密块:[功能], 解密块:[功能], _doCryptBlock:[功能], 密钥大小:8, 初始化:[功能], '$超级': { cfg:[对象], 重置:[功能], _doProcessBlock:[功能], _doFinalize:[功能], 块大小:4, 初始化:[功能], '$super':[对象] } },模式:{初始化:[函数], '$超级': { createEncryptor: [功能], createDecryptor: [功能], 初始化:[功能], '$super': [对象] }, 加密器: {进程块:[功能], 初始化:[功能], '$super': [循环] }, 解密器: {进程块:[功能], 初始化:[功能], '$super': [Circular] } }, padding: { pad: [Function], unpad: [Function] }, blockSize: 4, formatter: { stringify: [Function], 解析:[函数]},盐:{词:[359292117,-310439037], sigBytes: 8 } }
为什么这两种方法返回不同的结果以及如何使 console.log 的行为类似于 document.write?
【问题讨论】:
-
console.log(encrypted.toString()); ?
-
是的,埃里克,我已经想通了。不过谢谢你的回答!
标签: javascript