crypto-js函数返回什么样的数据?

时间:2014-09-08 21:39:40

标签: javascript node.js encryption cryptojs pbkdf2

我使用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 }

这是什么类型的数据?是不是函数应该以字符串的形式返回通常的哈希密码?

1 个答案:

答案 0 :(得分:4)

来自the documentation

  

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

  

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