post请求后端json字符串加密 创建一个js文件
import CryptoJS from 'crypto-js/crypto-js'
// 默认的 KEY 与 iv 如果没有给
const KEY = CryptoJS.enc.Utf8.parse("1234567890123456");
const IV = CryptoJS.enc.Utf8.parse('1234567890123456');
/**
* AES加密 :字符串 key iv 返回base64
*/
export function Encrypt(word, keyStr, ivStr) {
let key = KEY;
let iv = IV;
if (keyStr) {
key = CryptoJS.enc.Utf8.parse(keyStr);
iv = CryptoJS.enc.Utf8.parse(ivStr);
}
let srcs = CryptoJS.enc.Utf8.parse(word);
var encrypted = CryptoJS.AES.encrypt(srcs, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.ZeroPadding
});
return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
}
/**
* AES 解密 :字符串 key iv 返回base64
*
* @return {string}
*/
export function Decrypt(word, keyStr, ivStr) {
let key = KEY;
let iv = IV;
if (keyStr) {
key = CryptoJS.enc.Utf8.parse(keyStr);
iv = CryptoJS.enc.Utf8.parse(ivStr);
}
let base64 = CryptoJS.enc.Base64.parse(word);
let src = CryptoJS.enc.Base64.stringify(base64);
let decrypt = CryptoJS.AES.decrypt(src, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.ZeroPadding
});
let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
return decryptedStr.toString();
}
页面中调用
import {Encrypt,Decrypt} from '../../assets/js/secret'
var obj = new Object();
obj.token = userinfo.token;
obj.pagenum = this.currentPage;
obj.pagerow = this.pageSize;
obj.nodedata = this.nodedata;
// obj.hidden_status = 3;
var jsonobj = JSON.stringify(obj);
var jms = Encrypt(jsonobj);
console.log(jms)
//发送post请求
axios.post(this.$store.state.WHPATH+'/XXX/XXX',
{
xxx: jms //后端直接获取map中的xxx进行解密
},{
// 单独配置
withCredentials: true
}).then((res)=>{
console.log(res.data);
if(res.data.code == 2001){
this.$nextTick(() => {
this.$router.replace('/login');
});
}else if(res.data.code == 506){
this.$message({
message: res.data.msg,
type: 'warning'
});
}else{
console.log(res.data)
}
}).catch(function (response) {
console.log(response);
});
},
后端处理 ESN类也有
public static Map<String, Object> newMap(Map<String, Object> map) throws Exception {
String str = (String) map.get("xxx");
String EJM = ESN.desEncryptX(str);
Map<String,Object> mmp = JSONObject.parseObject(EJM);
return mmp;
}