我使用crypto-js用PBKDF2加密密码,将密钥传递给AES加密函数。
var PBKDF2hash = crypto.PBKDF2(req.body.password, salt, { keySize: 256/32 });
当我使用crypto-js哈希函数时,console.log(PBKDF2hash)
在控制台中返回这个奇怪的数据:
{ init: [Function],
'$super':
{ init: [Function],
toString: [Function],
concat: [Function],
clamp: [Function],
clone: [Function],
random: [Function],
'$super':
{ extend: [Function],
create: [Function],
init: [Function],
mixIn: [Function],
clone: [Function] } },
words:
[ 162340080,
-1329278032,
-946859974,
1516294488,
-1059418968,
60522350,
440072457,
-2049460689,
-571434654,
1087160278 ],
sigBytes: 32 }
这是什么类型的数据?是不是函数应该以字符串的形式返回通常的哈希密码?
答案 0 :(得分:4)
你得到的哈希值还不是字符串。它是一个WordArray对象。在字符串上下文中使用WordArray对象时,它会自动转换为十六进制字符串。
和
您可以通过显式调用toString方法并传递编码器将WordArray对象转换为其他格式。