js加密解密

简单的加密解密的函数
function compile(code) {
var c=String.fromCharCode(code.charCodeAt(0)+code.length);
for(var i=1;i<code.length;i++){
c+=String.fromCharCode(code.charCodeAt(i)+code.charCodeAt(i-1));
}
return(escape(c));
}
function uncompile(code) {
code=unescape(code);
var c=String.fromCharCode(code.charCodeAt(0)-code.length);
for(var i=1;i<code.length;i++){
c+=String.fromCharCode(code.charCodeAt(i)-c.charCodeAt(i-1));
}
return c;
}
console.log(compile("ji45+-*积极"));
console.log((uncompile(compile("ji45+-*积极"))));

ASCII与Base64转换
let encodedData = window.btoa("ss11*-+999"); // 编码//ascii->base64 //(只能是英文数字,不能是汉字等,如果是汉字就报错)
let decodedData = window.atob(encodedData); // 解码//base64->ascii
console.log(encodedData);
console.log(decodedData);
---------------------

UTF8编码与解码
function encodeUTF8(str){
var temp = "",rs = "";
for( var i=0 , len = str.length; i < len; i++ ){
temp = str.charCodeAt(i).toString(16);
rs += "\u"+ new Array(5-temp.length).join("0") + temp;
}
return rs;
}
function decodeUTF8(str){
return str.replace(/(\u)(w{4}|w{2})/gi, function($0,$1,$2){
return String.fromCharCode(parseInt($2,16));
});
}
console.log(encodeUTF8("123olp=-+*/中国"));
console.log(decodeUTF8(encodeUTF8("123olp=-+*/中国")));
---------------------

原文地址:https://www.cnblogs.com/web-chuanfa/p/10212651.html