js加密解密

本文介绍了几种常见的字符串加密解密方法,包括简单的字符位移加密、ASCII与Base64编码转换,以及UTF8编码与解码过程。通过具体代码示例展示了如何实现这些功能,适合初学者理解和实践。

简单的加密解密的函数
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值