Node.js cryptage des mots de passe
Je suis actuellement en utilisant les éléments suivants pour le cryptage des mots de passe:
var pass_shasum = crypto.createHash('sha256').update(req.body.password).digest('hex');
Pourriez-vous nous suggérer des améliorations pour rendre le projet plus sûr?
- Non salé SHA n'est pas sécurisé. Utilisation bcrypt.
- Merci pour votre commentaire, je vais prendre vais vérifier.
- codahale.com/how-to-safely-store-a-password
- Excellent article sur la sécurisation des mots de passe à tous les développeurs de lecture: crackstation.net/hashing-security.htm
Vous devez vous connecter pour publier un commentaire.
- Je utiliser le follwing code de sel et de hachage des mots de passe.
bcrypt peut également être appelée de manière synchrone. Exemple De Coffeescript:
Il y a aussi bcrypt-module nodejs pour le nœud. https://github.com/shaneGirish/bcrypt-nodejs.
Précédemment, j'ai utilisé déjà mentionné ici bcrypt module, mais tomber dans des problèmes sur win7 x64. D'autre part bcrypt-nodejs est un pur JS mise en œuvre de bcrypt et n'a pas de dépendances à tous.
Vous pouvez utiliser le bcrypt-js package pour le chiffrement du mot de passe.
De hachage d'un mot de passe:
bcrypt.genSalt(10, function(err, salt) {
bcrypt.hash("B4c0/\/", salt, function(err, hash) {
//Store hash in your password DB.
});
});
De vérifier votre mot de passe,
//Load hash from your password DB.
bcrypt.compare("B4c0/\/", hash, function(err, res) {
//res === true
});
Vous pouvez visiter https://www.npmjs.com/package/bcryptjs pour plus d'informations sur bcryptjs.