ajax全局加密,pc端ajax的header请求,CryptoJS加密

093b7209600f?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

js部分:

var myAes={

Encrypt:function(word, keyStr){//加密

var srcs = CryptoJS.enc.Utf8.parse(word);

var key  = CryptoJS.enc.Utf8.parse(keyStr);

var encrypted = CryptoJS.AES.encrypt(srcs, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});

return encrypted.toString();

},

Decrypt:function(word, keyStr){//解密

//var srcs = CryptoJS.enc.Utf8.parse(word);

var key  = CryptoJS.enc.Utf8.parse(keyStr);

var decrypt = CryptoJS.AES.decrypt(word, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});

return decrypt.toString(CryptoJS.enc.Utf8);

},

getAesKey:function(len) {

len = len || 32;

var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';

var maxPos = $chars.length;

var keyStr = '';

for(var i = 0; i < len; i++) {

keyStr += $chars.charAt(Math.floor(Math.random() * maxPos));

}

return keyStr;

},

getNewSecret:function(sstr){

var newEncrypt = new JSEncrypt();

newEncrypt.setPublicKey(publicKeySer);

newSecret = newEncrypt.encrypt(sstr);

return newSecret;

},

returnSign:function(nowTime){

var sign='',data=[],system='systempc', mac='mac';

data.push(system);

data.push(mac);

data=data.sort() //sort字母排序

for(var i=0;i

if(i==(data.length-1)){sign += data[i];}else{sign += data[i]+'_';};

}

sign+=salt;

sign+=publicKeyUser;

sign+=nowTime;

return sign;

}

}

function newAjax(){

var nowTime =new Date().getTime();

var newAesKey=myAes.getAesKey(16);

var newSecret=myAes.getNewSecret(newAesKey);

var newSign=myAes.Encrypt(myAes.returnSign(nowTime),newAesKey);

var token=GLOBAL_G.readCookie('token');

var ajaxData = {

url:arguments.length && arguments[0].url ? arguments[0].url : "",

data:arguments.length && arguments[0].data ? arguments[0].data : null,

beforeSend:arguments.length && arguments[0].beforeSend ? arguments[0].beforeSend : function(){},

success:arguments.length && arguments[0].success ? arguments[0].success : function(msg){},

error:arguments.length && arguments[0].error ? arguments[0].error : function(){}

}

var flag=ajaxData.beforeSend();

$.ajax({ //其他

url: ajaxData.url,

method: "POST",

data: ajaxData.data,

dataType: "json",

headers: {

"sign":newSign,

"system":'pc',

"mac":'',

"secret":newSecret,

"time":nowTime

},

beforeSend:ajaxData.beforeSend,

success:ajaxData.success,

error:ajaxData.error

})

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值