Вызов функции libsodium со значением обратного вызова

Я пытаюсь хэшировать и хранить пароль в базе данных. Поэтому я использую libsodium с crypto_pwhash в приложении node. Я создаю функцию, экспортирую ее, но не могу получить хеш-пароль.

Вот мой код: натрия.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);  
     });

Сообщение об ошибке: неподдерживаемый тип ввода пароля.

я не понимаю что не так

Обновление: я обновляю свой код, теперь ошибка сообщения: при определении формат вывода должен быть строкой. Я думаю, что это проблема с массивом.


person Vana    schedule 14.11.2017    source источник
comment
Трудно понять, что вы делаете в sodium.js, потому что похоже, что вам не хватает некоторых скобок. Можете ли вы отредактировать это, чтобы оно было действительным js?   -  person Mark    schedule 14.11.2017
comment
Я обновляю свой пост, но там всего несколько строк.   -  person Vana    schedule 14.11.2017
comment
Вам нужно указать пароль для функции, которая должна его хэшировать...   -  person Frank Denis    schedule 15.11.2017
comment
я обновляю свой вопрос   -  person Vana    schedule 16.11.2017


Ответы (1)


odium.crypto_pwhash_str возвращает хеш-пароль в строку, первые параметры не нужны

person Vana    schedule 20.11.2017