使用回调值调用libsodium函数

时间:2017-11-14 19:33:25

标签: node.js function callback libsodium

我尝试哈希并将密码存储到数据库中。 所以我将libsodium与crypto_pwhash一起用于节点应用程序。 我创建了一个函数,导出它,但我无法收到哈希密码。

这是我的代码: sodium.js

libsodium = require('libsodium-wrappers-sumo');
 (async() => {
await libsodium.ready;
const sodium = libsodium;

module.exports.password_hash = function(password, res){
var hashed_password = [sodium.crypto_pwhash_STRBYTES];
 if (sodium.crypto_pwhash_str ( sodium.crypto_pwhash_MEMLIMIT_SENSITIVE) != 0){
   /* out of memory */
}
   return res(hashed_password);
}
/*if (sodium.crypto_pwhash_str_verify
(hashed_password, PASSWORD, strlen(PASSWORD)) != 0) {
/* wrong password */
//}
})();

app.js

sodium.password_hash("test", function(res){
        console.log(res);  
     });

错误消息为:密码输入类型不受支持。

我不明白出了什么问题

更新:我更新了我的代码, 现在消息错误是:定义时,输出格式必须是字符串 我认为这是数组的一个问题

1 个答案:

答案 0 :(得分:0)

sodium.crypto_pwhash_str将哈希密码返回为字符串,不需要第一个参数