<SCRIPT>
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) {
/* c1 */
do {
c1 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
} while(i < len && c1 == -1);
if(c1 == -1)
break;
/* c2 */
do {
c2 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
} while(i < len && c2 == -1);
if(c2 == -1)
break;
out += String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4));
/* c3 */
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));
/* c4 */
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;
}
alert(base64encode("?"))
</script>
public static String encrypt(String content) throws Exception {
return new sun.misc.BASE64Encoder().encode(content.getBytes());
}
public static byte[] decrypt(String content) throws Exception {
return new sun.misc.BASE64Decoder().decodeBuffer(content);
}
分享到:
相关推荐
`调用.txt`文件可能是测试这两种编码解码方法的简单脚本,它会调用Java和JavaScript中的函数,并比较结果是否一致,确保在不同环境下的Base64编码和解码是兼容的。 总之,Java和JavaScript中Base64编码和解码的实现...
在后端,我们可以使用Java的`java.util.Base64`类进行Base64编码和解码。以下是一个简单的Servlet示例,用于接收前端发送的Base64编码字符串并解码: ```java import javax.servlet.http.*; import java.io.*; ...
在JavaScript中,Base64编码和解码是经常用到的功能,尤其是在处理图像、JSON数据或者进行跨平台通信时。 ### Base64编码原理 Base64编码的基本思想是将每3个字节(24位)的数据转换为4个6位的字符(共24位),然后...
在QT中,我们可以利用QByteArray类和QCryptographicHash类来实现Base64的编码和解码。QByteArray是QT中的一个用于处理字节序列的类,而QCryptographicHash则提供了一些加密哈希函数,其中包括Base64编码和解码。 1....
本文将深入探讨如何在JavaScript(JS)客户端和Java(Android)端实现3DES加密解密以及Base64编码解码,这对于保护用户敏感信息和实现安全通信至关重要。 首先,3DES(Triple Data Encryption Standard)是一种加强...
Delphi进行Base64编码后,如果使用javascript解码,会出现如下问题: 1. 汉字乱码 2. 空格变成 + 号 本资源演示Delphi代码,实现javascript能正确进行Base64解码,不出现上述2个问题。 解决思路:进行Base64前先...
需要注意的是,这段代码没有提供完整的Base64解码逻辑,实际的`decodeBase64`函数需要实现Base64编码的解码算法,这通常涉及到将Base64字符映射回它们代表的二进制值。 总的来说,这个示例展示了JavaScript在处理二...
本资源提供的是一套完整的JavaScript实现,能够与ASP.NET和JAVA平台的3DES加密解密及Base64编码解码功能保持兼容。 首先,3DES的工作原理是在DES的基础上增加了一次加密过程,即使用同一个密钥进行三次加密,这大大...
java端:返回类型非字符接口调用StringUtils#base64AndCompressJson进行编码压缩 ,返回类型为字符接口调用StringUtils#base64Andcompress js 端:引入压缩包中的js文件 ,调用deBase64AndUncompress进行解压解码
在实际开发中,大多数编程语言都有内置的库函数或模块来处理Base64编码和解码,比如Python的`base64`模块,Java的`java.util.Base64`类,JavaScript的`atob()`和`btoa()`方法等。这些内置函数通常比自定义实现更高效...
总的来说,"base64编码解码器"是处理二进制数据的重要工具,无论是后端的C++实现还是前端的应用场景,Base64编码都在数据传输和存储中扮演着不可或缺的角色。了解和掌握Base64编码解码原理及其实现方法,对于开发者...
此外,现代编程语言通常内置了Base64编码和解码的库函数,如Python的`base64`模块,JavaScript的`btoa()`和`atob()`函数,Java的`java.util.Base64`类等,这些内置函数大大简化了开发者的任务。 在实际应用中,除了...
base62.js, node.js的javascript Base62编码/解码器 Base62.js JavaScript Base62编码/解码器什么是Base62编码?Base62编码将数字转换为ASCII字符串( 0 -9,一个z 和一个z ),反之亦然,这通常会导致比较短的字符串...
"Base64 编码解码工具"是一个应用程序,它提供了一个方便的界面来对数据进行Base64的编码和解码操作。尽管这个工具非常实用,但需要注意的是,根据描述,它并不支持对文件进行编码或解码。这意味着你可以输入纯文本...
由于Base64编码是基于拉丁字母、数字、加号和斜线这64个字符,因此对于包含非ASCII字符(如中文)的数据,需要特殊处理才能正确进行Base64编码和解码。本文将详细讨论如何在JavaScript中处理中文Base64编码。 首先...
本文介绍了如何使用Java和JavaScript实现Base64编码与解码功能,特别是在Java Spring框架下的具体实现方式。通过这些代码示例,开发者可以快速地集成Base64的功能到自己的应用中,无论是前端还是后端。同时,还介绍...
Base64编码使用64个不同的字符来表示这6位的值,这些字符包括大小写字母(A-Z, a-z)、数字(0-9)以及两个特殊符号"+"和"/"。为了保证编码后的字符串在大多数文本环境下是可读的,最后还会在末尾添加一个或多个等于...
在编程中,许多语言如Java、Python、JavaScript等都提供了内置的Base64编码和解码函数,方便开发者直接使用。例如,在Python中,可以使用`base64`模块的`b64encode()`和`b64decode()`函数进行编码和解码操作。 在...
在实际编程中,许多语言如Python、Java、JavaScript等都有内置的库函数支持Base64的编码和解码操作。例如,在Python中,我们可以使用`base64`模块的`b64encode()`和`b64decode()`函数来实现字符串和Base64之间的转换...
在编程中,Base64编码和解码通常通过内置库或第三方库实现,例如在Python中可以使用`base64`模块,Java中可以使用`java.util.Base64`类,JavaScript中可以使用`btoa`和`atob`函数等。提供的"Base64ED"可能是一个包含...