尝试加密时出错

时间:2014-06-15 04:01:01

标签: node.js encryption

当我尝试使用crypto(Node.JS)从文本创建加密文本时,我得到一个"错误:必须提供密码类型,密钥"。

代码如下。

var cipher = crypto.createCipher('aes-256-cbc', userId);
var crypted = cipher.update(password, 'utf8', 'hex');
crypted += cipher.final('hex');
return crypted;

但是当我使用mocha对其进行测试时,它并没有给出任何错误。在这两次中,输入都是正确的。谁能帮我?

1 个答案:

答案 0 :(得分:3)

确定。我将userId更改为userId.toString('binary'),现在它可以工作了。仍然不确定mocha运行和正常运行之间的差异是如何发生的。

var cipher = crypto.createCipher('aes-256-cbc', userId);

更改为

var cipher = crypto.createCipher('aes-256-cbc', userId.toString('binary'));