西安机械加工网站建设,吉林省建设工程质量监督站网站,7474网页游戏大全,有哪些网站建设方案哈喽 大家好啊#xff0c;最近发现进行加密后 超长文本后端解密失败#xff0c;经过看其他博主修改
JSEncrypt原生代码如下#xff1a; // 分段加密#xff0c;支持中文JSEncrypt.prototype.encryptUnicodeLong function (string) {var k this.getKey();//根据key所能编…哈喽 大家好啊最近发现进行加密后 超长文本后端解密失败经过看其他博主修改
JSEncrypt原生代码如下 // 分段加密支持中文JSEncrypt.prototype.encryptUnicodeLong function (string) {var k this.getKey();//根据key所能编码的最大长度来定分段长度。key size - 1111字节随机padding使每次加密结果都不同。var maxLength ((k.n.bitLength()7)3)-11;try {var subStr, encryptedString ;var subStart 0, subEnd0;var bitLen0, tmpPoint0;for(var i 0, len string.length; i len; i){//js 是使用 Unicode 编码的每个字符所占用的字节数不同var charCode string.charCodeAt(i);if(charCode 0x007f) {bitLen 1;}else if(charCode 0x07ff){bitLen 2;}else if(charCode 0xffff){bitLen 3;}else{bitLen 4;}//字节数到达上限获取子字符串加密并追加到总字符串后。更新下一个字符串起始位置及字节计算。if(bitLenmaxLength){subStrstring.substring(subStart,subEnd)encryptedString k.encrypt(subStr);subStartsubEnd;bitLenbitLen-tmpPoint;}else{subEndi;tmpPointbitLen;}}subStrstring.substring(subStart,len)encryptedString k.encrypt(subStr);return hex2b64(encryptedString);} catch (ex) {return false;}};
这个源码算法 我还是不是太懂啦 但是目前已经测试成功
原博主
前端RSA加密解密支持中文 - 基于jsencrypt使用任意长度密钥对任意长度字符串进行分段加解密_encryptunicodelong_小傻哥的博客-CSDN博客