当我尝试使用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对其进行测试时,它并没有给出任何错误。在这两次中,输入都是正确的。谁能帮我?
答案 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'));