2012-05-28 23 views
8

Daha iyi parola koruması için nodejs bcrypt kitaplığını kullanıyorum.Nodejs bcrypt library

Ben nasıl kullanılacağını tam olarak anladığından emin değilim, ama ben şimdiye kadar bu var: onun daha kolay şifreyi okumayı böylece

//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 

      } 
     } 
    }); 
} 

Ben örnekte burada işleme tüm hata kaldırıldı.

1.Bu oturum ve oturum açıp oturum açabiliyorum. Ama hepsi bu kadar var mı? Bir şey mi eksik?

2.Sahı üretirken tuza parola eklenmiş gibi görünüyor. Tuzu db'ye kaydetmem gerekmiyor mu?

Herhangi bir yardım

cevap

6

Evet, bunların hepsi bu kadar var olan takdir! Parolayı orijinal olarak şifrelediğinde oluşturduğunuz tuz, gökkuşağı tablosu saldırılarına karşı korunmak için kullanılır; Bunu sürdürmene gerek yok.

+0

Harika. Gerçekten güzel kütüphane. Ve kullanımı kolay – georgesamper

+0

Harika cevap. Bu yazı aynı zamanda neden tuzun devam etmesine ihtiyaç duymadığınızı anlamama yardımcı oldu. http://stackoverflow.com/questions/277044/do-i-need-to-store-the-salt-with-bcrypt – emilebaizel

+1

Dikkat: @emilebaizel tarafından bağlanan sorunun kabul edilen cevabı olarak, tuz saklanır sonuçtaki hashın bir parçası olarak. Kullanılan mermi sayısı da hashın bir parçasıdır ve "checker" kodunun TÜM bilgilerine sahip olan tek bir hash ile sonuçlanır. – Darkhogg