JAVA实现Base64编码的三种方式
Posted 沧海一滴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA实现Base64编码的三种方式相关的知识,希望对你有一定的参考价值。
摘要: Javabase64编码的三种方式 有如下三种方式: 方式一:commons-codec.jar Java代码 1. String base64String="whuang123"; 2. byte[] result = Base64.
Javabase64编码的三种方式
有如下三种方式:
方式一:commons-codec.jar
Java代码
1. String base64String="whuang123";
2. byte[] result = Base64.encodeBase64(base64String.getBytes());
方式二:使用sun.misc.BASE64Encoder
Java代码
1. /**
2. *编码
3. *
4. *@parambstr
5. *@returnString
6. */
7. publicstaticStringencode(byte[]bstr){
8. return new sun.misc.BASE64Encoder().encode(bstr);
9. }
10.
11. /**
12. *解码
13. *
14. *@paramstr
15. *@returnstring
16. */
17. publicstaticbyte[]decode(Stringstr){
18. byte[]bt=null;
19. try{
20. sun.misc.BASE64Decoderdecoder=newsun.misc.BASE64Decoder();
21. bt=decoder.decodeBuffer(str);
22. }catch(IOExceptione){
23. e.printStackTrace();
24. }
25.
26. returnbt;
27. }
方式三:使用com.sun.org.apache.xerces.internal.impl.dv.util.Base64
Java代码
1. /***
2. *encodebyBase64
3. */
4. publicstaticStringencodeBase64(byte[]input)throwsException{
5. Classclazz=Class
6. .forName("com.sun.org.apache.xerces.internal.impl.dv.util.Base64");
7. MethodmainMethod=clazz.getMethod("encode",byte[].class);
8. mainMethod.setAccessible(true);
9. ObjectretObj=mainMethod.invoke(null,newObject[]{input});
10. return(String)retObj;
11. }
12.
13. /***
14. *decodebyBase64
15. */
16. publicstaticbyte[]decodeBase64(Stringinput)throwsException{
17. Class clazz=Class
18. .forName("com.sun.org.apache.xerces.internal.impl.dv.util.Base64");
19. MethodmainMethod=clazz.getMethod("decode",String.class);
20. mainMethod.setAccessible(true);
21. ObjectretObj=mainMethod.invoke(null,input);
22. return(byte[])retObj;
23. }
运行结果如下:
推荐使用方式一。
https://yq.aliyun.com/articles/52597
以上是关于JAVA实现Base64编码的三种方式的主要内容,如果未能解决你的问题,请参考以下文章
delphi java 有没有能相互base64编码的方法啊
java 怎么实现PHP的base64加密,两种语言的base64加密后的数据不一致
Java如何进行Base64的编码(Encode)与解码(Decode)?