Java实现BASE64编解码器

Java实现BASE64编解码器

笔者:chszs,转载注明。博客首页:http://blog.csdn.net/chszs

BASE64和其它类似的编码算法通经常使用于转换二进制数据为文本数据,其目的是为了简化存储或传输。更详细地说,BASE64算法主要用于转换二进制数据为ASCII字符串格式。

Java语言提供了一个很好的BASE64算法的实现,即Apache Commons Codec工具包。本文将简要地讲述如何使用BASE64以及它是如何工作的。

以下我们用BASE64对字符串进行编码:

import java.io.UnsupportedEncodingException;
import org.apache.commons.codec.binary.Base64;

public class Base64Test {
	public static void main(String[] args){
		String str = "Hello World";
		try{
			byte[] encodeBase64 = Base64.encodeBase64(str.getBytes("UTF-8"));
			System.out.println("RESULT: " + new String(encodeBase64));
		} catch(UnsupportedEncodingException e){
			e.printStackTrace();
		}
	}
}

输出结果为:

RESULT: SGVsbG8gV29ybGQ=

上面输出的字符串是“Hello world”字符串的8位二进制值被连接在一起,然后以6位分组。

随后每一个组都被转换成一个单独的数字并映射到Base64的索引。

binary	dec Base64
010010  18  S
000110  6   G
010101  21  V
101100  44  s
011011  27  b
000110  6   G
111100  60  8
100000  32  g
010101  29  d
110110  54  2
111101  61  9
110010  50  y
011011  27  b
000110  6   G
010000  16  Q

注意:字符串最后添加“=”。它的目的是表示字符串编码结束。

时间: 2025-01-03 00:26:30

Java实现BASE64编解码器的相关文章

Java实现BASE64编解码

Java实现BASE64编解码 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs BASE64和其它类似的编码算法通经常使用于转换二进制数据为文本数据,其目的是为了简化存储或传输.更详细地说,BASE64算法主要用于转换二进制数据为ASCII字符串格式.Java语言提供了一个很好的BASE64算法的实现,即Apache Commons Codec工具包.本文将简要地讲述如何使用BASE64以及它是如何工作的. 以下我们用BASE64对字符串进行编码:

java利用Base64编码和解码图片文件

1.编码与解码代码如下所示: import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import javax.image

java中Base64转码与解码(加密与解密)原理与使用

Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范.Base64编码可用于在HTTP环境下传递较长的标识信息.例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数.在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式.此

java安全——BASE64

这个主题主要是关于java安全的,应该来说算是个大杂烩吧,但是又不缺乏实用性,算是作为一个总结,用的时候可以作为参考. 1.使用BASE64加解密 在java加密技术中,BASE64算是一种最简单.最基本的加密技术.详见如下例子: import java.io.IOException; import Decoder.BASE64Decoder; import Decoder.BASE64Encoder; public class Base64Test { public static void m

java.util.Base64

Base64 简单使用 java.util.Base64 package com.mozq.sb.jwt01.config; import java.nio.charset.Charset; import java.util.Base64; /** * Base64中的字符 + / = 在url中存在特殊意义,如果放在url中会被转义. */ public class Base64Test { public static void main(String[] args) { //将字节数组编码成

java编写Base64密码器

Base64加密算法,应用广泛,尤其是在电子邮件传输上,有很大的用途 用JAVA编写的程序代码如下 import java.awt.BorderLayout; import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; import javax.swing.JFrame; import javax.s

Java 加密 base64 encode

[前言] 计算机中的数据都是二进制的,不管是字符串还是文件,而加密后的也是二进制的, 而我们要看到的往往是字符串,本文就介绍了将byte[]转为各种进制以及base64编码. [base64] 是一种编码方式,可以理解为复杂的进制,很多算法加密后输出的都是byte[],而这个byte[]对我们显示的形式是不友好的(乱码), 所以一般都是转为base64的,当然也可以转为其他进制.. [代码] [java] view plaincopy package com.uikoo9.util.encryp

JAVA实现Base64编码的三种方式

摘要: Javabase64编码的三种方式   有如下三种方式: 方式一:commons-codec.jar Java代码  1. String base64String="whuang123"; 2. byte[] result = Base64. Javabase64编码的三种方式 有如下三种方式: 方式一:commons-codec.jar Java代码 1. String base64String="whuang123"; 2. byte[] result

Java实现 Base64、MD5、MAC、HMAC加密(转)

开始对那些基本的加密还不怎么熟练,然后总结了些,写了一个测试:支持 Base64.MD5.MAC.HMAC加密,长话短说,我们都比较喜欢自己理解,看代码吧! 采用的输UTF-8的格式... package codec; import java.security.MessageDigest; import javax.crypto.KeyGenerator; import javax.crypto.Mac; import javax.crypto.SecretKey; import javax.c