LogoDuyệtSr. Data Engineer
HomeAboutPhotosInsightsCV

Footer

Logo

Resources

  • Rust Tiếng Việt
  • /archives
  • /series
  • /tags
  • Status

me@duyet.net

  • About
  • LinkedIn
  • Resume
  • Projects

© 2026 duyet.net | Sr. Data Engineer | 2026-02-27

Nodejs - Mã hóa mật khẩu

Note: This post is over 11 years old. The information may be outdated.

Mã hóa mật khẩu người dùng trước khi lưu vào database là 1 chuyện bắt buộc phải làm đối với bất cứ 1 website nào. Không riêng gì ai, Nodejs cũng hỗ trợ khá nhiều thư viện để hỗ trợ việc mã hóa này.

Ảnh: http://websitedesign.schoolsict.co.uk

bcrypt.js

Bcrypt được sử dụng khá nhiều, ban đầu được thiết kế bởi Niels Provos và David Mazières, xem thêm thông tin tại wikipedia.

Cài đặt

npm install bcrypt

Cách sử dụng

async (recommended):

Để mã hóa mật khẩu

var bcrypt = require('bcrypt');
bcrypt.genSalt(10, function(err, salt) {
    bcrypt.hash('B4c0/\/', salt, function(err, hash) {
        // Store hash in your password DB.
    });
});

Để kiểm tra mật khẩu:

// Load hash from your password DB.
bcrypt.compare('B4c0/\/', hash, function(err, res) {
    // res == true
});
bcrypt.compare('not_bacon', hash, function(err, res) {
    // res == false
});

Auto-gen a salt and hash:

bcrypt.hash('bacon', 8, function(err, hash) {
});

sync

Để mã hóa mật khẩu:

var bcrypt = require('bcrypt');
var salt = bcrypt.genSaltSync(10);
var hash = bcrypt.hashSync('B4c0/\/', salt);
// Store hash in your password DB.

Để kiểm tra mật khẩu:

// Load hash from your password DB.
bcrypt.compareSync('B4c0/\/', hash); // true
bcrypt.compareSync('not_bacon', hash); // false

Auto-gen a salt and hash:

var hash = bcrypt.hashSync('bacon', 8);
Feb 3, 2016·10 years ago
|Javascript|
Node.jsTutorial
|Edit|

Related Posts

Resting và Spreading JavaScript Objects

Resting và spreading càng ngày được ưa chuộng vì sự tiện lợi của nó, sau đây là 7 tricks với JavaScript objects.

Mar 27, 2019·7 years ago
Read more

Cách sử dụng Destructuring trong Javascript ES6

Destructuring là chức năng mới trong ES6 của Javascript. Giúp extract dữ liệu (có thể lồng nhau) từ Array hoặc Object.

May 27, 2016·10 years ago
Read more

Deploy production Node.js với PM2 và Nginx

Cách cài đặt và triển khai production Node.js project với Nginx và PM2.

Apr 10, 2016·10 years ago
Read more

Nodejs - đọc file package.json

Đọc file package.json giúp ta lấy được một số thông tin của project, như: tên project, version, danh sách các package, ...

Feb 3, 2016·10 years ago
Read more
On this page
  • bcrypt.js
  • Cài đặt
  • Cách sử dụng
On this page
  • bcrypt.js
  • Cài đặt
  • Cách sử dụng