关闭

Java实现BASE64编解码

标签: base64javacommons-codecbase64编码
72749人阅读 评论(3) 收藏 举报
分类:

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

注意:字符串最后加上了“=”,其意思表示字符串编码的结束。





5
7
查看评论

java:7种Base64编码和解码功能详解和性能比较

Java 8新特性探究(十一)Base64详解 BASE64 编码是一种常用的字符编码,在很多地方都会用到。但base64不是安全领域下的加密解密算法。能起到安全作用的效果很差,而且很容易破解,他核心作用应该是传输数据的正确性,有些网关或系统只能使用ASCII字符。Base64就是用来...
  • u013476542
  • u013476542
  • 2016-11-18 10:49
  • 12183

Java如何进行Base64的编码(Encode)与解码(Decode)?

Java进行Base64的编码(Encode)与解码(Decode)的几种方式与区别..
  • zhou_kapenter
  • zhou_kapenter
  • 2017-03-17 16:37
  • 24152

利用java自带的base64实现加密、解密

package com.stone.util; import java.io.UnsupportedEncodingException; import sun.misc.*; public class Base64 { // 加密 public static String getBase6...
  • huangyunzeng2008
  • huangyunzeng2008
  • 2011-06-23 16:01
  • 125873

java基础---->Base64算法的使用

Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,可用于在HTTP环境下传递较长的标识信息。详细的Base64信息,可以参见维基百科:https://en.wikipedia.org/wiki/Base64。今天,我们开始java中base64算法的使用。   结构导航 ...
  • GarfieldEr007
  • GarfieldEr007
  • 2016-12-18 11:05
  • 2997

Java实现Base64算法

Base64是一种基于64个字符的编码算法,经过Base64编码的数据会比原始数据略长,为原来长度的4/3倍。Base64算法中,等号用来补位。 URLBase64算法主要是将"+"和"/"替换成了"-"和"_"符号,...
  • fcytxdy
  • fcytxdy
  • 2015-07-10 14:16
  • 2782

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

Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一...
  • chenleixing
  • chenleixing
  • 2015-06-18 08:54
  • 25046

java实现image和base64互转

java实现image和base64互转
  • windon12345
  • windon12345
  • 2015-05-25 10:40
  • 5863

Java的3种Base64加密方法

Java的3种Base64加密方法 , 分别是 jdk默认实现的加密方式, 使用cc的加密方式和使用bc的加密方式 import java.io.IOException; import org.apache.commons.codec.binary.Base64; import sun.mis...
  • ch717828
  • ch717828
  • 2015-06-27 19:50
  • 6729

Java Base64位加密和解密

转载地址:http://blog.csdn.net/zhou_kapenter/article/details/62890262
  • longguangfu8
  • longguangfu8
  • 2018-01-01 23:36
  • 102

js、java的base64相互加密、解密

js中base64加密: BASE64.encoder(str); java后端base64解密: import org.apache.commons.codec.binary.Base64; new String(Base64.decodeBase64(str), "UTF-8&q...
  • hgg923
  • hgg923
  • 2017-06-01 15:45
  • 2098
    个人资料
    • 访问:5971970次
    • 积分:52228
    • 等级:
    • 排名:第64名
    • 原创:797篇
    • 转载:23篇
    • 译文:24篇
    • 评论:1190条
    一名路过的黑客

    大家好,我是黑客,专门盗账号的。现在这个人的帐号被我盗了,但看这个人平时的博客空间,一直过着艰苦努力、持之以恒的技术研究生活,勤奋刻苦,积极分享,无私奉献,我被深深的感动了,这是一个纯粹的人,人品这样的高尚,希望大家看到我这条消息后,可以私聊他,多鼓励他,不缺钱的就多给他一些经济上的资助,让他再接再厉!就这样吧,我下线了,眼框湿湿的难受。

    文章存档