Utilisation du cryptage de mot de passe bcryptjs dans Express
Cet article présente principalement la méthode d'utilisation de bcryptjs pour le cryptage des mots de passe sous Express. Maintenant, je le partage avec vous et le donne comme référence.
Il y a quelques jours, j'ai développé un petit projet utilisant Express. Lors du développement du module de connexion et d'enregistrement, bcryptjs a été utilisé pour le cryptage des mots de passe :
bcrypt est un cross-. outil de cryptage de fichiers de plate-forme. Les fichiers cryptés par celui-ci peuvent être transférés sur tous les systèmes d'exploitation et processeurs pris en charge. Son mot de passe doit être compris entre 8 et 56 caractères et sera converti en interne en clé de 448 bits.
En plus de chiffrer vos données, bcrypt écrasera par défaut le fichier d'entrée d'origine trois fois avec des données aléatoires avant de le supprimer, pour contrecarrer les tentatives de récupération par quelqu'un qui pourrait accéder aux données de votre ordinateur. Si vous ne souhaitez pas utiliser cette fonctionnalité, vous pouvez la désactiver.
bcrypt utilise l'algorithme de cryptage Blowfish publié par Bruce Schnell en 1993. Plus précisément, bcrypt est implémenté à l'aide de l'algorithme de Paul Kircher. Le code source distribué avec bcrypt est légèrement modifié par rapport à la version originale.
Étapes d'utilisation de bcryptjs sous Express :
1 Installez le module bcryptjs
npm install bcryptjs --save
2. Introduisez la bibliothèque bcryptjs dans le module qui. nécessite un cryptage
var bcrypt = require('bcryptjs');
3. Définissez la force de cryptage
var salt = bcrypt.genSaltSync(10);
4. Générez la valeur HASH lors de l'enregistrement et insérez-la dans la base de données
router.post('/register', function(req, res, next){ // 从连接池获取连接 pool.getConnection(function(err, connection) { // 获取前台页面传过来的参数 var param = req.query || req.params; /*生成HASH值*/ var hash = bcrypt.hashSync(param.pwd,salt); // 建立连接 新增用户 connection.query(userSQL.insert, ["",hash,param.phone,"","","",0], function(err, result) { res.send(result); // 释放连接 connection.release(); }); }); });
5. lors de la connexion et insérez-le dans la base de données
router.post('/login', function(req, res, next){ // 从连接池获取连接 pool.getConnection(function(err, connection) { // 获取前台页面传过来的参数 var param = req.query || req.params; // 建立连接 根据手机号查找密码 connection.query(userSQL.getPwdByPhoneNumber, [param.phone], function(err, result) { if(bcrypt.compareSync(param.pwd,result[0].password)){ res.send("1"); connection.query(userSQL.updateLoginStatusById, [1,result[0].id], function(err, result) { }); }else{ res.send("0"); } // 释放连接 connection.release(); }); }); });
Ce qui précède utilise l'utilisation synchrone de bcryptjs. L'utilisation asynchrone est présentée ci-dessous :
Générer un mot de passe de hachage :
bcrypt.genSalt(10, function(err, salt) { bcrypt.hash("B4c0/\/", salt, function(err, hash) { // Store hash in your password DB. }); });
Vérification du mot de passe :
bcrypt.compare("B4c0/\/", hash).then((res) => { // res === true });
Ce qui suit est un exemple simple d'utilisation de Bcrypt pour crypter des données :
var mongoose = require('mongoose'); // 引入bcrypt模块 var bcrypt = require('bcrypt'); // 定义加密密码计算强度 var SALT_WORK_FACTOR = 10; // 连接数据库 mongoose.connect('mongodb://localhost:27017/test') // 定义用户模式 var UserSchema = new mongoose.Schema({ name: { unique: true, type: String }, password: { unique: true, type: String } },{ collection: "user"}); // 使用pre中间件在用户信息存储前进行密码加密 UserSchema.pre('save', function(next){ var user = this; // 进行加密(加盐) bcrypt.genSalt(SALT_WORK_FACTOR, function(err, salt){ if(err){ return next(err); } bcrypt.hash(user.password, salt, function(err, hash){ if(err){ return next(err); } user.password = hash; next(); }) }); }); // 编译模型 var UserBox = mongoose.model('UserBox', UserSchema); // 创建文档对象实例 var user = new UserBox ({ name : "Jack" , password : "123456" }); // 保存用户信息 user.save(function(err, user){ if(err){ console.log(err); }else{ // 如果保存成功,打印用户密码 console.log("password: " + user.password); } })
Ce qui précède est ce que j'ai compilé pour tout le monde, j'espère que ce sera le cas. être utile à tout le monde à l’avenir.
Articles connexes :
Classe de cache encapsulée implémentée via Redis en tant que cache dans nodejs
Utilisation de JavaScript natif pour obtenir l'effet de loupe
Analyse détaillée du code source de Vue Socket.io
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment gérer le téléchargement de fichiers ? L'article suivant vous expliquera comment utiliser Express pour gérer les téléchargements de fichiers dans le projet de nœud. J'espère qu'il vous sera utile !

Comment gérer le cryptage des mots de passe et le stockage sécurisé en PHP ? Avec le développement rapide d’Internet, la protection de la vie privée des utilisateurs et la sécurité des données sont devenues un enjeu important. Il est crucial pour les développeurs de sites Web et d’applications de sécuriser les mots de passe des utilisateurs. Dans le langage PHP, il existe de nombreuses façons de gérer le cryptage et le stockage sécurisé des mots de passe. Cet article présentera certaines technologies courantes et bonnes pratiques pour aider les développeurs à renforcer la sécurité des mots de passe des utilisateurs. Cryptage de mot de passe à l'aide des fonctions de hachage Lors du stockage de mots de passe, ils ne doivent jamais être stockés en texte clair ;

Comparaison approfondie d'Express et de Laravel : Comment choisir le meilleur framework ? Lorsque vous choisissez un framework back-end adapté à votre projet, Express et Laravel sont sans aucun doute deux choix populaires parmi les développeurs. Express est un framework léger basé sur Node.js, tandis que Laravel est un framework populaire basé sur PHP. Cet article fournira une comparaison approfondie des avantages et des inconvénients de ces deux frameworks et fournira des exemples de code spécifiques pour aider les développeurs à choisir le framework qui correspond le mieux à leurs besoins. Performances et évolutivitéExpr

Express et Laravel sont deux frameworks web très populaires, représentant respectivement les excellents frameworks des deux principaux langages de développement JavaScript et PHP. Cet article procédera à une analyse comparative de ces deux frameworks pour aider les développeurs à choisir un framework plus adapté aux besoins de leur projet. 1. Introduction au framework Express est un framework d'application Web basé sur la plateforme Node.js. Il fournit une série de fonctions et d'outils puissants qui permettent aux développeurs de créer rapidement des applications Web hautes performances. Exprimer

Comment utiliser PHP pour implémenter la fonction de cryptage des mots de passe Le mot de passe est une méthode de vérification de sécurité que nous devons souvent utiliser dans la vie et au travail. Afin de protéger la vie privée des utilisateurs, nous devons crypter et stocker les mots de passe des utilisateurs pour éviter qu'ils ne soient volés et abusés par des criminels. Cet article explique comment utiliser PHP pour implémenter la fonction de cryptage des mots de passe afin d'augmenter la sécurité des mots de passe des utilisateurs. En PHP, il existe une fonction de cryptage très puissante password_hash() qui peut être utilisée pour générer une valeur de hachage d'un mot de passe. Cette fonction peut accepter deux paramètres : un mot de passe en texte brut et un

PHP et SQLite : Comment implémenter le cryptage et la vérification des mots de passe Introduction : À l'ère d'Internet moderne, la sécurité des mots de passe des utilisateurs est particulièrement importante. Afin de protéger la vie privée des utilisateurs, les sites Web utilisent généralement des méthodes de cryptage et de vérification des mots de passe pour stocker et traiter les informations relatives aux mots de passe des utilisateurs. Cet article explique comment utiliser les bases de données PHP et SQLite pour implémenter les fonctions de cryptage et de vérification des mots de passe. 1. Cryptage du mot de passe Le cryptage du mot de passe fait référence à la conversion du mot de passe en clair de l'utilisateur en une chaîne aléatoire apparemment illisible. Grâce à ce processus de conversion, même en cas de fuite de la base de données.

Avec le développement d'Internet, MySQL, en tant que système de gestion de bases de données relationnelles open source, est largement utilisé dans diverses applications. L'un des problèmes de sécurité importants est le cryptage et le stockage des mots de passe des utilisateurs MySQL. Alors, quelles sont les méthodes de cryptage des mots de passe MySQL ? Cet article vous donnera une analyse approfondie. Comment les mots de passe MySQL sont stockés Avant de comprendre la méthode de cryptage des mots de passe MySQL, comprenons d'abord comment les mots de passe MySQL sont stockés. Avant MySQL version 5.7, l'algorithme de hachage unidirectionnel (S

Comment développer un système fiable de cryptage et de déchiffrement de mots de passe à l'aide de PHP et Vue.js Introduction : Dans le monde en ligne, la sécurité des mots de passe est particulièrement importante. Afin de protéger la confidentialité et la sécurité des utilisateurs, nous devons utiliser un système fiable de cryptage et de décryptage des mots de passe. Dans cet article, nous présenterons comment développer un système fiable de cryptage et de déchiffrement de mots de passe à l'aide de PHP et Vue.js, avec des exemples de code. 1. Comprendre les principes de cryptage et de déchiffrement des mots de passe. Avant de commencer le développement, nous devons comprendre les principes de cryptage et de déchiffrement des mots de passe. En général, nous utilisons des hachages
