前言
沒有使用https協(xié)議時,數(shù)據(jù)沒有加密顷帖,入網(wǎng)安全測評不通過
這里記錄一下數(shù)據(jù)加解密绩鸣。
一、封裝加解密方法
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();
}
二凡简、參數(shù)加解密
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
-
數(shù)據(jù)加密前
- 數(shù)據(jù)加密后
把加密的數(shù)據(jù)放在key
為data
的對象里面