赞
踩
该博客打算简单介绍下Base64编码以及在java环境下的两种编程使用(sun公司提供的jar和apache提供的jar)//不过我这里是建议大家使用apache提供的BASE64的jar,因为sun内部API sun.misc.BASE64在编译时会出现后期可能被删除的潜在风险警告。所以,大家看着办把…….
可以百度Base64编码,会有在线编辑器,可以看出明文“hello”经过Base64编码得到密文“aGVsbG8=”
Base64是一种基于64个字符的编码算法,从任意8位字节序列组合的描述形式,这种形式不易直接识别,经过Base64编码后的字符串的字符数是以4为单位的整数倍
Base64编解码工具类BaseUtil
package Base64Demo; import java.io.IOException; import Decoder.BASE64Decoder; import Decoder.BASE64Encoder; /* *基于"JDK"用法 */ public class Base64Util { /* * 加密过程(编码) * 1、创建BASE64Encoder对象——en * 2、调用该对象的encode方法(将一个字节数组的明文进行编码转换为一个字符串) * 3、返回字符串 * Tip:记得先将明文转换为字节数组 */ public static String EncodeBase64(byte[] data) { BASE64Encoder en=new BASE64Encoder(); String str=en.encode(data); return str; } /* *解密过程(解码) *1、创建BASE64Decoder对象 *2、调用该对象的decodeBuffer方法(将编码后的字符串转换为明文的字节数组) *3、将明文字节数组转换为相应的字符串 *4、返回字符串 */ public static String DecodeBase64(String data) throws IOException { BASE64Decoder de=new BASE64Decoder(); byte[] ResultByte=de.decodeBuffer(data); String str=new String(ResultByte); return str; } }
测试类
package Base64Demo; import java.io.IOException; import Decoder.BASE64Encoder; public class Base64Demo01 { public static final String DATA="hello"; public static void main(String[] args) throws IOException { byte[] data=DATA.getBytes(); String BaseResult=Base64Util.EncodeBase64(data); System.out.println("加密后:"+BaseResult); String str=BaseResult; String BaseResult_D=Base64Util.DecodeBase64(str); System.out.println("解密后:"+BaseResult_D); } }
Base64编解码工具类BaseUtil_cc
package Base64Demo; import org.apache.commons.codec.binary.Base64; /* *基于commons-codec-1.11 */ public class Base64Utile_cc { /* *加密过程 */ public static String EncodeBase64(byte[] data) { Base64 en=new Base64(); String str=en.encodeBase64String(data); return str; } /* *解密过程 */ public static String DecodeBase64(String str) { Base64 de=new Base64(); byte[] ResultBase=de.decodeBase64(str); String str2=new String(ResultBase); return str2; } }
测试类
package Base64Demo; public class Base64Demo02 { public static final String DATA="hello"; public static void main(String[] args) { /* *基于commons-codec-1.11 */ byte[] data=DATA.getBytes(); String str=Base64Utile_cc.EncodeBase64(data); System.out.println("加密后:"+str); String str2=Base64Utile_cc.DecodeBase64(str); System.out.println("解密后:"+str2); } }
相应结果和第一种方法是相同的
当然还有其他的jar包可以用,这里就不多做阐述了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。