bcryptjs 加密

简介

bcryptjs是一个第三方加密库,用来实现在Node环境下的bcrypt加密

bcrypt,是一个跨平台的文件加密工具。由它加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部被转化为448位的密钥。

安装和引入

安装:

npm install bcryptjs -S

引入:

import bcrypt from 'bcryptjs';

同步用法(sync)

生成hash密码:

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

快速生成hash密码:

const hash = bcrypt.hashSync("B4c0/\/", 8);

密码验证:

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

异步用法

生成hash密码

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

快速生成hash密码:

bcrypt.hash('bacon', 8, function(err, hash) {
  // Store hash in your password DB. 
});

密码验证:

// 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 
});

// As of bcryptjs 2.4.0, compare returns a promise if callback is omitted: 
bcrypt.compare("B4c0/\/", hash).then((res) = > {
  // res === true 
});

参考

  • https://segmentfault.com/a/1190000008841988
  • https://www.npmjs.com/package/bcryptjs

你可能感兴趣的:(JavaScript)