前言
没有使用https协议时,数据没有加密,入网安全测评不通过
这里记录一下数据加解密。
一、封装加解密方法
secret.js文件
import CryptoJS from 'crypto-js'
//解密方法
export function Decrypt(word) {
var key = CryptoJS.enc.Utf8.parse("bda#p*!xf0000000");
let decrypt = CryptoJS.AES.decrypt(word, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 });
let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
return decryptedStr.toString();
}
//加密方法
export function Encrypt(word) {
let srcs = word
let key = CryptoJS.enc.Utf8.parse("bda#p*!xf0000000");
let encrypted = CryptoJS.AES.encrypt(srcs, key,{
//iv: key,
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7,
});
return encrypted.toString();
}
二、参数加解密
import axios from 'axios'
import {Decrypt,Encrypt} from './secret.js'
const request = axios.create({
baseURL: '',
timeout: 60000, // 请求超时时间
});
request.interceptors.request.use((config) => {
// 加解密
config.data = {data:Encrypt(JSON.stringify(config.data))}
return config;
});
request.interceptors.response.use((res) => {
res.data = JSON.parse(Decrypt(res.data))
return res;
})
export default request
-
数据加密前
加密前 - 数据加密后
把加密的数据放在key
为data
的对象里面
加密后
网友评论