Java中使用Base64编码实例
2015-09-08 11:52
495 查看
Maven需要引入的jar
<!-- Apache Base64 Libraries -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.52</version>
</dependency>
代码
<!-- Apache Base64 Libraries -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.52</version>
</dependency>
代码
package com.liyong.base64; import java.io.IOException; import java.io.UnsupportedEncodingException; import org.apache.commons.codec.binary.Base64; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class Base64Test { /** 默认编码UTF-8 */ public static final String DEFAULT_ENCODING = "UTF-8"; public static void main(String[] args) { String src = "Base64 编码测试"; jdkBase64(src); System.out.println("--------------"); ccBase64(src); System.out.println("--------------"); bcBase64(src); } /** * JDK提供实现Base64编码 */ public static void jdkBase64(String src) { try { BASE64Encoder encoder = new BASE64Encoder(); String encodeStr = encoder.encode(src.getBytes(DEFAULT_ENCODING)); System.out.println("JDK BASE64 encoder: " + encodeStr); BASE64Decoder decoder = new BASE64Decoder(); String decodeStr = new String(decoder.decodeBuffer(encodeStr), DEFAULT_ENCODING); System.out.println("JDK BASE64 decoder: " + decodeStr); } catch (IOException e) { e.printStackTrace(); } } /** * 用Apache的common codes实现 */ public static void ccBase64(String src) { try { byte[] encodeBytes = Base64.encodeBase64(src.getBytes(DEFAULT_ENCODING)); String encodeStr = new String(encodeBytes, DEFAULT_ENCODING); System.out.println("CC BASE64 encoder: " + encodeStr); byte[] decodeBytes = Base64.decodeBase64(encodeStr.getBytes(DEFAULT_ENCODING)); String decodeStr = new String(decodeBytes, DEFAULT_ENCODING); System.out.println("CC BASE64 decoder: " + decodeStr); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } /** * 用bouncy castle实现 */ public static void bcBase64(String src) { try { byte[] encodeBytes = org.bouncycastle.util.encoders.Base64.encode(src.getBytes(DEFAULT_ENCODING)); String encodeStr = new String(encodeBytes, DEFAULT_ENCODING); System.out.println("BC BASE64 encoder: " + encodeStr); byte[] decodeBytes = org.bouncycastle.util.encoders.Base64.decode(encodeStr); String decodeStr = new String(decodeBytes, DEFAULT_ENCODING); System.out.println("BC BASE64 decoder: " + decodeStr); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } }
相关文章推荐
- JavaSE---IO流(其他流)
- 从Spring官网快速定位Spring Framework的位置
- JAVA jdk 环境变量配置
- 使用XStream注解实现Java对象与XML互相转换的代码示例
- 专访黄勇:Java
- springMVC(7) springMVC注解启用
- Spring面试知识点总结(一)
- java中的多态
- 解决Eclipse进行Android开发时logcat不显示问题-使用DDMS
- Struts2 Result详解
- Java框架介绍:Quartz从入门到进阶(图)
- java实例化对象的方法
- 解决java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket异常
- add more columns in join table using spring, hibernate, JPA Annotations
- myeclipse 10 关于building workspace 的优化
- java web 中web.xml配置详解
- Java常用名词
- struts2 标签的使用之一 s:if
- Java源码分析:深入探讨Iterator模式
- 关于四舍五入:java.math.BigDecimal类的用法