- 后端动态生成一对公钥私钥,公钥给前端,在用户输入密码点击登录时,前端用公钥加密之后再传给服务端,后端拿到后用私钥解密获得密码
- 安装
yarn add jsencrypt
- 使用
import JSEncrypt from 'jsencrypt'; // 引入
// 前端 加密
export const encrypt = (str: string) => {
const publicKey = '公钥';
var encryptor = new JSEncrypt({});
encryptor.setPublicKey(publicKey); // 设置公钥
return encryptor.encrypt(str); // 对需要加密的数据进行加密
}
encrypt(password); // 加密后的密码
// 解密
export const decrypt = (str:string) => {
const privateKey = '私钥';
const encryptor = new JSEncrypt({});
encryptor.setPrivateKey(privateKey); // 设置私钥
return encryptor.decrypt(str);
}