您的位置:首页 > 编程语言 > Java开发

Java使用Base64编码

2015-02-27 18:37 302 查看
大多数教程演示Java使用Base64时都会导入sun.misc.BASE64Encoder和sun.misc.BASE64Decoder。事实上,官方Java API是找不到这两个类的,迟早都会被抛弃。推荐使用org.apache.commons.codec.binary.Base64。

直接上代码

import org.apache.commons.codec.binary.Base64;

//编码解码类 Encryption.java
public class Encryption {
//Base64 解码
public static byte[] decryptBase64(byte[] data) {
return Base64.decodeBase64(data);
}

//Base64 编码
public static byte[] encryptBase64(byte[] data) {
return Base64.encodeBase64(data);
}
}


重写这两个方法,没错,就是这么简单。

再来一个测试类

//测试类 Test.java
public class Test {
public static void main(String[] args) {
String s = "恭喜发财";
System.out.println("明文: " + s);

String ciphertext = new String(Encryption.encryptBase64(s.getBytes()));

System.out.println("编码后: " + ciphertext);

String plaintext = new String(Encryption.decryptBase64(ciphertext.getBytes()));

System.out.println("解码后: " + plaintext);
}
}


输出结果:

明文: 恭喜发财
编码后: 5oGt5Zac5Y+R6LSi
解码后: 恭喜发财


注意事项

注意IDE和文件的字符集,特别是有中文字符串的时候

byte转String要使用 String s = new String(byte);

不能使用byte.toString();

把commons-codec-1.10.jar导入到项目就行了

所需资源

jar官方下载地址:http://commons.apache.org/proper/commons-codec/

官方api:http://commons.apache.org/proper/commons-codec/apidocs/org/apache/commons/codec/binary/Base64.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  BASE64 Java 编码