// 加密字符串
var toCode = function (str) {
var key = '0123456789ABCDEFGHIJKLMNOPQRSTUVWWXYZ' ;
var l = key.length ;
var a = key.split('');
console.log(str.length);
var s = '' ;
var b, b1, b2, b3;
for(var i = 0; i < str.length; i ++){
b = str.charCodeAt(i) ;
b1 = b % l;
b = (b - b1) / l;
b2 = b % l;
b = (b-b2)/l;
b3 = b%l;
s += a[b3] +a[b2] +a[b1]; /* 每一个余数都被映射成了key中的一个字符 并且还先把b3存储到了前面 因为是按照字符串对应的顺序来加密解密的 */
}
return s;
}
// 解密字符串
var fromCode = function(str){
var key = '0123456789ABCDEFGHIJKLMNOPQRSTUVWWXYZ' ;
var l = key.length ; //这个算法的精妙之处在于余数不会大于除数,所以任何一个余数都可以在key中找到映射而不会超出长度
var b, b1, b2, b3, d = 0, s;
s = new Array(Math.floor(str.length/3));console.log(s.length);
b = s.length;
for(var i = 0;i < b; i ++){
b3 = key.indexOf(str.charAt(d))
;d++
b2 =key.indexOf(str.charAt(d)) ;
;d++
b1 =key.indexOf(str.charAt(d)) ;
;d++
s[i] = b3 * l * l +b2 * l + b1;
}
b = eval("String.fromCharCode(" + s.join(',')+")");
return b
}
var s = 'JavaScripts 中国';
s = toCode(s);
console.log(s);
s = fromCode(s);
console.log(s);
字符串处理:加密解密
最新推荐文章于 2024-04-22 19:24:15 发布