図書館利用の暗号化と認証パスワードのbcryptのNodejs

インストール

λ cnpm i bcrypt -S
λ cnpm install --save @types/bcrypt

import * as bcrypt from 'bcrypt';
let passHash: string = '';

(async () => {
  const myPlaintextPassword = 'hello world'; // 我的明文密码
  const someOtherPlaintextPassword = 'not_bacon'; // 错误的密码

  passHash = await register('ajanuw', myPlaintextPassword);
  login('ajanuw', myPlaintextPassword);
  login('ajanuw', someOtherPlaintextPassword);
})();

/**
 * 注册把密码转化为hash存入数据库
 * @param name
 * @param pass
 */
async function register(name: string, pass: string) {
  const saltRounds = 10;
  return bcrypt.hash(pass, saltRounds);
}

/**
 * 登陆时从数据库取出密码进行验证
 * @param name
 * @param pass
 */
async function login(name: string, pass: string): Promise<void> {
  console.log(`${pass}: ` + (await bcrypt.compare(pass, passHash)));
}

ラン

λ npm start
[0] not_bacon: false
[0] hello world: true

おすすめ

転載: www.cnblogs.com/ajanuw/p/11334471.html