在Java中如何进行BASE64编码和解码
发布网友
发布时间:2022-04-21 15:26
我来回答
共4个回答
热心网友
时间:2022-04-13 01:05
import sun.misc.BASE64Encoder;
import sun.misc.BASE64Decoder;
// 将 s 进行 BASE64 编码
public static String getBASE64(String s) {
if (s == null) return null;
return (new sun.misc.BASE64Encoder()).encode( s.getBytes() );
}
// 将 BASE64 编码的字符串 s 进行解码
public static String getFromBASE64(String s) {
if (s == null) return null;
BASE64Decoder decoder = new BASE64Decoder();
try {
byte[] b = decoder.decodeBuffer(s);
return new String(b);
} catch (Exception e) {
return null;
}
}
热心网友
时间:2022-04-13 02:23
import java.io.IOException;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
/**
* 名称:Base64.java <br />
* 说明:可逆加密类 <br />
*/
public class Base64 {
public static void main(String[] args) {
String s = "seasonszx";
System.out.println("加密后:"+encryptBASE64(s));
String m = encryptBASE64(s);
System.out.println("解密后:"+decryptBASE64(m));
}
/**
* BASE64解密
*
* @param key
* @return
* @throws Exception
*/
public static String decryptBASE64(String key){
byte[] bt;
try {
bt = (new BASE64Decoder()).decodeBuffer(key);
return new String(bt, "GB2312");
} catch (IOException e) {
e.printStackTrace();
return "";
}
}
/**
* BASE64加密
*
* @param key
* @return
* @throws Exception
*/
public static String encryptBASE64(String key){
byte[] bt = key.getBytes();
return (new BASE64Encoder()).encodeBuffer(bt);
}
}
热心网友
时间:2022-04-13 03:57
如果是单纯只想用的话,导这个包进你的项目snakeyaml-1.17.jar,
里面有个类可以直接用
org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder
例如:
String needToEncode = "你想编码的字符串";
String encoded = Base64Coder.encodeString(needToEncode);
// 控制台输出:5L2g5oOz57yW56CB55qE5a2X56ym5Liy
String decoded = Base64Coder.decodeString(encoded );
// 控制台输出:你想编码的字符串
Base64Coder这个类还提供了别的方法,可以自己看一下。
仅供参考。
热心网友
时间:2022-04-13 05:49
这里有各种编程语言关于这种加密的详细解释