不多说,贴代码

var JSEncrypt = {decode:function(source, key){var reverseKey = key.split("").reverse().join("");var encLen = source.split("%").length;var minLen = Math.min(encLen, key.length);var loop = parseInt(encLen / minLen);var target = "";var subStr, subKey;for (var i=1,j=0; i<=loop; i++,j+=minLen){subStr = this.getSubstringByToken(source, "%", j, minLen*i);subKey = (i%2 == 0) ? key.substring(0,minLen) : reverseKey.substring(0,minLen);target += this.bb(subStr, subKey);}if (loop*minLen < encLen){subStr = this.getSubstringByToken(source, "%", loop*minLen, encLen);subKey = key.substring(0, subStr.split("%").length);target += this.bb(subStr, subKey);}return target;},getSubstringByToken:function(str, token, start, end){var elements = str.split(token);var target = "";for (var i=start+1; i<=end; i++){target = target.concat(token, elements[i]);}return target;},bb:function(src, key){key = this.toCharcodes(key);var array1 = src.split("%");var array2 = key.split("%");var target = "";var n1, n2, n3, mod;for (var i=1,len=array1.length; i<len; i++){n1 = parseInt(array1[i], 16);n2 = parseInt(array2[i], 16);mod = (i-1) % 4;if (mod == 0){n3 = n1 - n2;}else if (mod == 1){n3 = n1 + n2;}else if (mod == 2){n3 = n1 ^ n2;}else{n3 = ~ n1;}target += String.fromCharCode(n3);}return target;},toCharcodes:function(str){if (str == null)    return "";var target = "";for (var i=0,len=str.length; i<len; i++){target = target.concat("%", str.charCodeAt(i).toString(16));}return target;}}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值