Библиотеки осуществляется Nodejs


Я использую библиотеку nodejs bcrypt для лучшей защиты паролем.

Я не уверен, что точно знаю, как его использовать, но я получил это до сих пор:

//A module containing this login function:

login: function(credentials,req,res) {

    //"credentials" is containing email and password from login form

    var query = 'SELECT password, email FROM users WHERE email = ? LIMIT 1';

    client.query(query,[credentials.email], function(err, results) {

        if (results[0]) {

            //Compare passwords
        if (bcrypt.compareSync(credentials.password, results[0].password)) {

                //Set session data and redirect to restricted area

            }
        }
    });
}

Я удалил всю обработку ошибок здесь, в примере, чтобы было легче читать код.

1.Это работает, и я могу войти в систему и установить сеанс. Но разве это все, что нужно? Я что-то упустил?

2.Похоже, что соль добавляется к паролю при создании хэша. Разве я не должен сохранить соль в db?

Любая помощь ценится

1 8

1 ответ:

Да, это все, что нужно! Соль, которую вы генерируете при первоначальном шифровании пароля, используется для предотвращения атак rainbow table; вам не нужно сохранять ее.