(1)BASE64 编码:
BASE64 编码是一种常用的字符编码,在很多地方都会用到。JDK 中提供了非常方便的 BASE64Encoder 和 BASE64Decoder,用它们可以非常方便的完成基于 BASE64 的编码和解码。下面是本人编的两个小的函数,分别用于 BASE64 的编码和解码:
// 将 s 进行 BASE64 编码
public static String getBASE64(String s) {
if (s == null) return null;
return (new sun.misc.BASE64Encoder()).encode( s.getBytes() );
}
// 将 BASE64 编码的字符串 s 进行解码
public static String getFromBASE64(String s) {
if (s == null) return null;
BASE64Decoder decoder = new BASE64Decoder();
try {
byte[] b = decoder.decodeBuffer(s);
return new String(b);
} catch (Exception e) {
return null;
}
}
(2)使用报文摘要
Java中提供了计算报文摘要的另一个简单的方法,那就是使用java.security.MessageDigest类。下列代码片断显示了如何将MD5报文摘要算法(128位的摘要)应用到密码字符串:
MassageDigest md=
MessageDigest.getInstance("MD5");
md.update(originalPwd.getByetes());
byte[] digestedBytes=md.digest();
也使用报文摘要创建校验和、文本的唯一ID(也叫做数字指纹)。在签写ARJ文件会发生:校验和是根据ARJ文件的内容计算出来的,然后被加密,并且用base64的加密格式存放在manifest.mf文件中。base64是编码任意二进制数据的一种方法,得到的结果仅包含可打印字符(注意,base64编码数据占用的空间比转换前多三分之一)。由于报文摘要算法输出的结果是字节数组,可以使用base64编码将哈希字节转换成字符串,以便能将该字符串存放在数据库的varchar字段中。现在有许多base64编码器,但是最简单的方法是使用weblogic.jar库中的编码器:weblogic.apache.xerces.utils.Base64。该类的作用微乎其微,如下面的代码例子所示:
String digestedPwdString =
new String(Base64.encode(digestedPwdBytes));
(3)MessageDigest
import javax.mail.internet.*;
import java.security.*;
public String getEncodedHash(String clearText){
ByteArrayOutputStream baos = new ByteArrayOutputStream();
OutputStream out = MimeUtility.encode(baos,"base64");
MessageDigest md = MessageDigest.getInstance("SHA");
if(clearText == null) clearText = "";
byte [] in = clearText.getBytes();
byte [] digested = md.digest(in);
out.write(digested);
out.close();
return new String(baos.toByteArray(), "ISO-8859-1");
}
分享到:
相关推荐
在Java和JavaScript中,Base64编码和解码是两个重要的功能,用于处理这种编码格式。下面将详细阐述这两个编程语言中实现Base64编码和解码的方法。 首先,让我们关注Java。在Java 8及更高版本中,已经内置了`java....
在Java中,处理Base64编码和解码的操作通常涉及到网络通信、数据序列化以及安全加密等方面。下面我们将详细探讨Java中的Base64编码和解码原理及其实现方式。 Base64编码的基本思想是将每3个字节(24位)的数据转换...
Java Base64 编码和解码程序,支持中文。
在Java中,Base64编码主要通过java.util.Base64工具类实现。这个类包含在Java 8及更高版本的标准库中,提供了多种编码和解码方法。下面我们将详细介绍如何使用Base64对图片进行编码以及如何引入jar包。 1. **Base64...
总的来说,`Base64.encodeBase64String()`方法是Java中对二进制数据进行Base64编码的重要工具,尤其在网络通信和数据存储中非常有用。通过理解这个方法的工作原理和使用方式,开发者可以有效地处理二进制数据,确保...
在Java中,实现Base64编码和解码通常使用`java.util.Base64`类或Apache Commons Codec库中的`Base64`类。标准的Base64编码过程是将每3个字节的数据转换为4个6位的二进制数,然后将这些二进制数映射到编码表中的字符...
实现BASE64编码和解码程序, 在类中实现如下函数并运行测试正确。 BASE64编码算法请在网上查询。 public String encode(byte[] data) { } public byte[] decode(String b) { }
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。... javabase64-1.3.1.rar String encoded = Base64.encode("Hello, world!", "UTF-8"); String decoded = Base64.decode(encoded, "UTF-8");
【标题】"javabase64-1.2.jar" 是一个Java库,主要用于实现Base64编码和解码功能。Base64是一种常见的数据编码方法,尤其在处理二进制数据时,如图片或证书,将其转换为ASCII文本格式以便在网络传输或存储时使用。这...
5. **`javabase64-1.3.1.jar`**: 这是一个第三方库,可能是为了兼容旧版本的Java或者提供额外的功能。第三方库通常包含更丰富的API和功能,比如支持不同的编码风格,或者提供了线程安全的实现等。 6. **`README.txt...
JavaBase64-1.3.1.jar 是一个专门用于Base64编码和解码的Java工具包。在计算机编程中,Base64是一种将任意二进制数据转换为可打印字符的编码方式,通常用于在网络上传输包含二进制的数据,如图片、音视频文件等。...
在Java中实现Base64编码,我们可以使用内置的`java.util.Base64`类,这个类提供了方便的方法来进行Base64的编码和解码。 Base64编码的原理是将每3个字节(24位)的数据分为4组,每组6位。由于ASCII码是7位的,因此6...
base64编码工具类,使用字节数组进行编码,使用十六进制表示的字符串进行编码
JavaBase64是一个Java库,专门用于处理Base64编码和解码操作。Base64是一种数据编码方法,常用于在网络上传输二进制数据,因为HTTP和电子邮件等协议主要处理ASCII字符,而不直接支持二进制数据。Base64编码可以将...
"Java基于Base64实现编码解码图片文件" Java基于Base64实现编码解码图片文件是Java语言中的一种常见的编码解码实现方式。Base64是一种常用的字符编码,在很多地方都会用到,但它并不是安全领域下的加密解密算法,...
`javabase64-1.3.1.jar` 是一个专门用于Base64编码和解码的Java库。这个jar包包含了处理Base64操作所需的所有类和方法,可以方便地集成到Java工程中,帮助开发者轻松实现Base64的加解码功能。导入这个jar包后,无需...
Java Base64位编码与String字符串的相互转换、Base64与Bitmap的相互转换实例代码 Java Base64位编码与String字符串的相互转换是Java开发中常用的技术,Base64是一种常用的编码方式,它可以将二进制数据编码成可读的...
Java Base64编码是一种将二进制数据转化为可打印字符的简单方式,广泛应用于网络传输和数据存储。这种编码方式将每3个字节的数据转换为4个Base64字符,每个字符代表6位二进制数,总共是24位。在解码时,这些字符再被...
`javabase64-1.3.1.jar` 是一个包含Base64编码和解码功能的Java库,它提供了一些关键类和方法供开发者使用。例如,主要类`Base64`包含了编码和解码的方法,如`encodeBytes()`用于编码字节数组,`decode()`用于解码...