前言:
1.bcrypt 进行md5 加密后存在库中的密码密文是不可逆的;
2.前端再用bcrypt 进行加密,两段密文是不一样的;
3.bcrypt 方法比对只有该模块提供的compare方法,但是该方法要求同时提供原明文密码和库中的密文密码(一般为了保护用户账号安全,都这样放)才可以判断出密码是否正确;
4.生成公私钥的方法一般用linux系统中的openssl:
生成私钥:openssl genrsa -out rsa_private_key.pem 1024
生成公钥:openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
前端部分(vue)
/**
* @desp 使用jsEncrypt在前端加密密码
* @return 返回一段根据公钥生成的密文;
*/
import {
JSEncrypt } from 'jsencrypt'
export const encryptPwd = (pwd