1 配置文件引入 加密包 package.json
"jsencrypt": "^3.0.0-rc.1",
2 加密公钥配置
import {
JSEncrypt } from 'jsencrypt'
import request from "@/utils/request";
const RSA_PUBLIC_KEY = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCJVol0cJoJKA36lRJoCOe7IZNhWm/BY+zOumtVQ/uhw4+oIJQqbJ+xuAYED5VjUWGsKjqJWKAS1QuBpQNij+nUXUV1v7AB9r0ihBTwvvvVJSLOfEau6eeKEqnAW6X4bZvaexFKTxlAb7IumnlBoo8uP5bCyRt93BuseuHynoYrmwIDAQAB";
export function encryptedData(data) {
let encryptor = new JSEncrypt();
encryptor.setPublicKey(RSA_PUBLIC_KEY);
return encryptor.encrypt(data);
};
3 前端请求 加密传输敏感数据
import {
encryptedData } from "@/utils/auth";
handleSubmit(e) {
const {
$store } = this;
e.preventDefault();
this.form.validateFields(async (err, values) => {
if (!err) {
await $store.dispatch({
type: "login/sumbitLogin",
params: {
userInfo: encryptedData(values.userName),
password