package com.byrt.dianke.eurka;
import java.io.UnsupportedEncodingException;
/**
* @Author zn
* @Date 2019/6/5
*/
public class Base64 {
//编码64
public static String encodeBase64(String str){
if(null == str){
return null;
}else{
org.apache.tomcat.util.codec.binary.Base64 base64 = new org.apache.tomcat.util.codec.binary.Base64();
try {
//注意 对数据进行编码
byte[] bytes = str.getBytes("utf-8");
byte[] encode = base64.encode(bytes);
String st = new String(encode);
return st;
} catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
//解码64
public static String decodeBase64(String bty){
org.apache.tomcat.util.codec.binary.Base64 base64 = new org.apache.tomcat.util.codec.binary.Base64();
if(null == bty){
return null;
}
try {
byte[] bytes = base64.decodeBase64(bty);
String s = new String(bytes);
return s;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 使用场景:
* 对证书来说,特别是根证书,一般都是作Base64编码的,因为它要在网上被许多人下载。
* 电子邮件的附件一般也作Base64编码的,因为一个附件数据往往是有不可见字符的。
* 对称加密 用共同的密钥加密
* @param args
*/
public static void main(String[] args) {
String str = "你好";
String encodeBate64 = encodeBase64(str);
System.out.println("原来"+str+"\n编译完成为"+encodeBate64);
String s = decodeBase64(encodeBate64);
System.out.println("解码为"+s);
}
}