天天看點

【koa2】crypto 加密密碼

1. 定義加密函數

const crypto = require("crypto"); // node自帶crypto

// 密匙
const SECRET_KEY = "Wjdskf_1133$";

// md5加密
function md5(content) {
  let md5 = crypto.createHash("md5");
  return md5.update(content).digest("hex");
}

// 加密函數
function genPassword(password) {
  const str = `password=${password}$key=${SECRET_KEY}`;
  return md5(str);
}

// const result = genPassword("123");
// console.log(result);

module.exports = {
  genPassword,
};

           

2. 使用加密函數

const exec = require("../db/mysql");
const { genPassword } = require("../utils/cryp");

const login = async (username, password) => {

  password = genPassword(password); // 加密密碼
  
  const sql = `select username, password from users where username='${username}' and password='${password}'`;
  const result = await exec(sql);
  return result[0] || {};
};

           

繼續閱讀