前端加密解密
1.安装:npm install crypto-js
2.创建一个crypto.ts文件
import CryptoJS from 'crypto-js'
export default {
//加密
encrypt(data){
const key = CryptoJS.enc.Utf8.parse('o08YQii9QF5MuzYj');
let res = CryptoJS.DES.encrypt(JSON.stringify(data), key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
}).ciphertext.toString();
return res;
},
//解密
decrypt(data){
const key = CryptoJS.enc.Utf8.parse('o08YQii9QF5MuzYj');
let res = CryptoJS.DES.decrypt({
ciphertext: CryptoJS.enc.Hex.parse(data)
}, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
})
return CryptoJS.enc.Utf8.stringify(res);
}
}
3.在interceptors(拦截器)中进行加密解密
import Crypto from './crypto'
//request拦截器
http.interceptors.request.use((config) => {
if(config.method === 'post') {
config.data = Crypto.encrypt(config.data)
}
return config
}, (error) => {
return Promise.reject(error)
})
//response拦截器
http.interceptors.response.use((respoens) => {
respoens.data= JSON.parse(Crypto.decrypt(respoens.data));
if(respoens.data.errorCode === -1 || !respoens.data.success) {
Message.error(respoens.data.msg)
}
return respoens.data
}, (error) => {
if (error && error.response) {
switch (error.response.status) {
case 500:
Message.error('服务器繁忙')
break
}
} else {
Message.error('连接超时,请刷新页面')
}
})
Java加密解密
参考:https://blog.csdn.net/u013000304/article/details/85772542