Я пытаюсь хэшировать и хранить пароль в базе данных. Поэтому я использую 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);
});
Сообщение об ошибке: неподдерживаемый тип ввода пароля.
я не понимаю что не так
Обновление: я обновляю свой код, теперь ошибка сообщения: при определении формат вывода должен быть строкой. Я думаю, что это проблема с массивом.
sodium.js
, потому что похоже, что вам не хватает некоторых скобок. Можете ли вы отредактировать это, чтобы оно было действительным js? - person Mark   schedule 14.11.2017