本文所分享的知识点是【Js base64 加密解密介绍】,欢迎您喜欢我爱IT技术网所分享的教程、知识、经验或攻略,下面是详细的讲解。
Js base64 加密解密介绍
<script type="text/javascript">
var base64encodechars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var base64decodechars=new Array(
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
-1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);
function base64encode(str) {
var out, i, len;
var c1, c2, c3;
len=str.length;
i=0;
out="";
while (i < len) {
c1=str.charCodeAt(i++) & 0xff;
if (i==len) {
out +=base64encodechars.charAt(c1 >> 2);
out +=base64encodechars.charAt((c1 & 0x3) << 4);
out +="==";
break;
}
c2=str.charCodeAt(i++);
if (i==len) {
out +=base64encodechars.charAt(c1 >> 2);
out +=base64encodechars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xf0) >> 4));
out +=base64encodechars.charAt((c2 & 0xf) << 2);
out +="=";
break;
}
c3=str.charCodeAt(i++);
out +=base64encodechars.charAt(c1 >> 2);
out +=base64encodechars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xf0) >> 4));
out +=base64encodechars.charAt(((c2 & 0xf) << 2) | ((c3 & 0xc0) >> 6));
out +=base64encodechars.charAt(c3 & 0x3f);
}
return out;
}
function base64decode(str) {
var c1, c2, c3, c4;
var i, len, out;
len=str.length;
i=0;
out="";
while (i < len) {
do {
c1=base64decodechars[str.charCodeAt(i++) & 0xff];
} while (i < len && c1==-1);
if (c1==-1)
break;
do {
c2=base64decodechars[str.charCodeAt(i++) & 0xff];
} while (i < len && c2==-1);
if (c2==-1)
break;
out +=String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4));
do {
c3=str.charCodeAt(i++) & 0xff;
if (c3==61)
return out;
c3=base64decodechars[c3];
} while (i < len && c3==-1);
if (c3==-1)
break;
out +=String.fromCharCode(((c2 & 0xf) << 4) | ((c3 & 0x3c) >> 2));
do {
c4=str.charCodeAt(i++) & 0xff;
if (c4==61)
return out;
c4=base64decodechars[c4];
} while (i < len && c4==-1);
if (c4==-1)
break;
out +=String.fromCharCode(((c3 & 0x03) << 6) | c4);
}
return out;
}
</script>
关于Js base64 加密解密介绍的相关讨论如下:
相关问题:为什么我用Base64加密后,不能将它解密?
答:前端使用js: pwd = new Base64.encode(pwd); 后端使用java, new Base64().decodeBase64(pwd.getBytes()).toString(); java的Base64()有提供decode和decodeBase64()这俩种方法,我习惯的以为是decode(),结果却是后者. 希望对你有帮助. >>详细
相关问题:如何使用Base64进行加密和解密
答:在c#中如果想让明文编程密文,有两大类方式,加密和编码,加密分为对称和不对称加密,对称加密典型的是des算法的加密,不对称加密典型的如md5加密,说穿了就是获取哈希码,编码就是把明文转换成另一种不易懂或者方便传输的数据,base64是把长字... >>详细
相关问题:JAVA怎么样实现Base64加密解密?
答:package test; import java.io.IOException; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class Test { public static void main(String[] args) { String str = "java12345"; String ret = null; ret = new BASE64E... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
