Java的3种Base64加密方法
2015-06-27 19:50
344 查看
Java的3种Base64加密方法 , 分别是 jdk默认实现的加密方式, 使用cc的加密方式和使用bc的加密方式
import java.io.IOException; import org.apache.commons.codec.binary.Base64; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub /*使用jdk默认的base64加解密*/ String str ="这是要加密的字符串,使用jdk"; str = jdkBase64Encoder(str); System.out.println("加密后的字符串为:"+str); str = jdkBase64Decoder(str); if(str!=null) { System.out.println("解密后的字符串:"+str); } else { System.out.println("解密失败"); } /*使用commons-codec的base64加解密*/ str ="这是要加密的字符串,使用CC"; str = CCBase64Encoder(str); System.out.println("加密后的字符串为:"+str); str=CCBase64Decoder(str); System.out.println("解密后的字符串为:"+str); /*使用bcprov的base64加解密*/ str = "这是要加密的字符串,使用bc"; str = BCBase64Endoer(str); System.out.println("加密后的字符串为:"+str); str = BCBase64Decoder(str); System.out.println(str); } /** * 使用jdk的base64 加密字符串 * */ public static String jdkBase64Encoder(String str) { BASE64Encoder encoder = new BASE64Encoder(); String encode = encoder.encode(str.getBytes()); return encode; } /** * 使用jdk的base64 解密字符串 * 返回为null表示解密失败 * */ public static String jdkBase64Decoder(String str) { BASE64Decoder decoder = new BASE64Decoder(); String decode=null; try { decode = new String( decoder.decodeBuffer(str)); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return decode; } /** * 使用commons-codec的base64 加密字符串 * */ public static String CCBase64Encoder(String str) { return new String(Base64.encodeBase64(str.getBytes())); } /** * 使用commons-codec的base64 解密字符串 * */ public static String CCBase64Decoder(String str) { return new String(Base64.decodeBase64(str.getBytes())); } /** * 使用bcprov的base64加密字符串 * */ public static String BCBase64Endoer(String str) { byte[] arr =org.bouncycastle.util.encoders.Base64.encode(str.getBytes()); return new String(arr); } /** * 使用bcprov的base64加密字符串 * */ public static String BCBase64Decoder(String str) { byte[] arr = org.bouncycastle.util.encoders.Base64.decode(str.getBytes()); return new String(arr); } }
相关文章推荐
- java中的匿名内部类总结
- Java内存分析
- 泛型程序设计
- java战斗系列-战斗MAVENPW结构
- Eclipse安装SVN插件
- Vijava 学习笔记之数据中心下(集群和非集群的资源池和ESXI)树形结构展示
- 转 Spring 组件 <context:component-scan base-pakage="">用法
- SSH框架整合(一) —— Spring与Struts2整合
- Java 基础总结(一)
- 关于Spring注解 @Service @Component @Controller @Repository 用法
- 2015062705 - EffactiveJava笔记 - 第38条 检查参数的有效性
- ubuntu14.04下解决eclipse菜单栏消失问题
- java学习之旅29--面向对象_02_面向对象的方式思考问题
- java 中多线程之间的通讯之等待唤醒机制
- Java基础——线程(一)
- java web学习
- java对图片的转码和解码 实用
- java web 使用json要加入的jar 文件
- MyEclipse 快捷键1(CTRL)
- JAVA Hibernate别名排序问题