📜  使用 bcryptjs 模块在 Node.js 中加密密码

📅  最后修改于: 2022-05-13 01:56:48.506000             🧑  作者: Mango

使用 bcryptjs 模块在 Node.js 中加密密码

在提交表单时,有一些敏感数据(如密码)不得对任何人可见,甚至对数据库管理员也不可见。为了避免任何人都可以看到敏感数据,Node.js 使用“bcryptjs”。

该模块可以将密码存储为散列密码而不是明文。

bcryptjs 模块的安装:

  • 您可以访问安装 bcryptjs 模块的链接。您可以使用此命令安装此软件包。
npm install bcryptjs
  • 安装 bcryptjs 模块后,您可以使用命令在命令提示符中检查您的请求版本。
npm version bcryptjs
  • 之后,您可以创建一个文件夹并添加一个文件,例如 index.js,要运行此文件,您需要运行以下命令。
node index.js
index.js
// Requiring module
const bcrypt = require('bcryptjs');
  
const password = 'pass123';
var hashedPassword;
  
// Encryption of the string password
bcrypt.genSalt(10, function (err, Salt) {
  
    // The bcrypt is used for encrypting password.
    bcrypt.hash(password, Salt, function (err, hash) {
  
        if (err) {
            return console.log('Cannot encrypt');
        }
  
        hashedPassword = hash;
        console.log(hash);
  
        bcrypt.compare(password, hashedPassword, 
            async function (err, isMatch) {
  
            // Comparing the original password to
            // encrypted password   
            if (isMatch) {
                console.log('Encrypted password is: ', password);
                console.log('Decrypted password is: ', hashedPassword);
            }
  
            if (!isMatch) {
              
                // If password doesn't match the following
                // message will be sent
                console.log(hashedPassword + ' is not encryption of ' 
                + password);
            }
        })
    })
})


运行应用程序的步骤:使用以下命令运行应用程序:

node index.js

输出:我们将在控制台屏幕上看到以下输出。