Base64算法
来源:互联网 发布:小号云免费源码 编辑:程序博客网 时间:2024/06/08 18:14
一、Base64算法概述
Base64算法最早应用于解决电子邮件传输的问题。它是一种基于64个字符的编码算法,根据RFC 2045的定义:“Base64内容传输编码是一种以任意8位字节序列组合的描述形式,这种形式不易被人直接识别。”
经过Base64编码后的数据会比原始数据略长,为原来的4/3倍。经过编码后的字符串的字符数是以4为单位的整数倍。
Base64算法的编码和解码的操作可充当加密和解密的操作,还有一张字符映射表充当了密钥。尽管如此,Base64算法仍不能叫做加密算法。
2、Commons Codec的应用
Commons Codec即实现了一般的Base64算法,也实现了遵循RFC标准的Base64算法
直接将下载的commons-codec-1.6-bin.zip解压,将解压开的文件夹里面的commons-codec-1.6.jar包导入工程即可。
- package Test;
- import java.io.UnsupportedEncodingException;
- import org.apache.commons.codec.binary.Base64;
- /**
- * 封装Base64的工具类
- *
- */
- class Base64Coder {
- public final static String ENCODING = "UTF-8";
- // 加密
- public static String encoded(String data) throws UnsupportedEncodingException {
- byte[] b = Base64.encodeBase64(data.getBytes(ENCODING));
- return new String(b, ENCODING);
- }
- // 加密,遵循RFC标准
- public static String encodedSafe(String data) throws UnsupportedEncodingException {
- byte[] b = Base64.encodeBase64(data.getBytes(ENCODING),true);
- return new String(b, ENCODING);
- }
- // 解密
- public static String decode(String data) throws UnsupportedEncodingException {
- byte[] b = Base64.decodeBase64(data.getBytes(ENCODING));
- return new String(b, ENCODING);
- }
- }
- /**
- * 测试类
- */
- public class Base64Test {
- public static void main(String[] args) throws UnsupportedEncodingException {
- String str = "Ad3";
- // 加密该字符串
- String encodedString = Base64Coder.encodedSafe(str);
- System.out.println(encodedString);
- // 解密该字符串
- String decodedString = Base64Coder.decode(encodedString);
- System.out.println(decodedString);
- }
- }
具体的应用可以参照Bouncy Castle和Commons Codec的API。
- Base64算法
- base64算法
- base64算法
- Base64算法
- Base64算法
- Base64算法
- BASE64算法
- Base64算法
- Base64算法
- Base64算法
- Base64算法
- base64算法实现
- Base64编码算法
- Base64编码delphi算法!
- Base64算法原理
- Base64算法原理
- Base64编码算法
- Base64编码算法
- Android Says Bonjour
- 一个小技巧
- CONTAINING_RECORD宏的详细解释(转)
- Android视频资料整理
- 冯小刚《私人定制》开机日子未定 白百何望出演
- Base64算法
- 日期时间格式化
- Android开发教程——Android应用架构
- 二维数组的传参
- 关于strncpy
- Android多媒体浅析
- VS2010如何修改项目名称
- POJ1789《Truck History》方法:Prim
- 父亲网上卖掉2岁儿子 奶奶报警后追回