Comment hacher et vérifier un mot de passe en Node.js avec bcrypt ?

L’une des meilleures méthodes pour conserver les mots de passe en toute sécurité est de les saler et aussi de les hacher. Le salage ainsi que le hachage convertissent un simple mot de passe en une valeur spéciale qui est difficile à inverser. La bibliothèque bcrypt vous permet de hacher ainsi que de saler les mots de passe dans Node.js avec très peu d’efforts.

Qu’est-ce que le hachage de mot de passe ?

Le hachage de mots de passe consiste à passer un mot de passe de message ordinaire via un algorithme de hachage pour produire une valeur unique. Quelques exemples d’algorithmes de hachage sont bcrypt, scrypt, et aussi SHA. L’inconvénient du hachage est qu’il est prévisible.

Qu’est-ce que le salage de mot de passe ?

Le salage de mot de passe ajoute une chaîne arbitraire (le sel) à un mot de passe avant de le hacher. De cette façon, le hachage généré sera toujours différent à chaque fois. Aussi, si un cyberpunk obtient le mot de passe haché, il n’est pas pratique pour lui de trouver le mot de passe initial qui l’a créé.

Comment utiliser bcrypt pour hacher et vérifier un mot de passe

bcrypt est un module npm qui rationalise le salage des mots de passe ainsi que le hachage.

Voir aussi :  Créer un arrière-plan animé avec HTML et CSS

Etape 1 : Installer bcrypt

En utilisant npm :

Utilisant yarn :

Etape 2 : Importer bcrypt

Etape 3 : Générer un sel

Pour produire le sel, appelez la technique bcrypt. genSalt() . Cette méthode accepte une valeur entière qui est l’élément de prix qui identifie le moment pris pour hacher un mot de passe. Plus l’élément de dépense est élevé, plus la formule prend encore plus de temps ainsi que plus il est difficile d’inverser le hachage en utilisant la force brute. Une grande valeur doit être suffisamment élevée pour protéger le mot de passe, mais également suffisamment réduite pour ne pas réduire la procédure. Elle se situe souvent entre 5 et 15. Dans ce tutoriel, nous utiliserons 10.

Etape 4 : Hacher le mot de passe

Passez le mot de passe brut ainsi que le sel créé à la technique hash() :

Une fois que vous avez produit le hachage, stockez-le dans la base de données. Vous l’utiliserez certainement pour valider un mot de passe et aussi pour confirmer un utilisateur qui essaie de visiter.

Au lieu de produire le sel et aussi le hachage indépendamment, vous pouvez de même auto-générer le sel ainsi que le hachage en utilisant une fonctionnalité solitaire.

Étape 5 : Comparer les mots de passe à l’aide de bcrypt

Pour authentifier les clients, vous aurez certainement besoin de comparer le mot de passe qu’ils donnent avec celui de la source de données. bcrypt.com pare() approuve le mot de passe du message ordinaire et aussi le hachage que vous avez enregistré, ainsi qu’une fonction de rappel. Ce callback fournit un objet composé de tout type d’erreurs qui ont eu lieu, ainsi que le résultat global de la comparaison. Si le mot de passe correspond au hachage, le résultat est vrai.

Utilisation d’Async/Await

Vous pouvez hacher et aussi valider des mots de passe en utilisant async/await comme suit.

Utilisation des promesses

La collection bcrypt soutient également l’utilisation des garanties.

Le hachage et le salage sont une victoire facile

Vous pouvez utiliser la bibliothèque bcrypt pour hacher et valider des mots de passe dans Node.js. Le hachage des mots de passe diminue les possibilités pour les cybercriminels de les utiliser pour accéder à des informations ou des solutions délicates. Le salage de vos mots de passe hachés les rend beaucoup plus sûrs. En plus du hachage, validez toujours l’endurance des mots de passe comme une étape de sécurité incluse.

Voir aussi :  Comment implémenter une file d'attente en Python

Cliquez pour évaluer cet article !
[Total: Moyenne : ]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *