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 web开发,页面处理Base64编码

java 怎么实现PHP的base64加密,两种语言的base64加密后的数据不一致

Java如何进行Base64的编码(Encode)与解码(Decode)?

前端对base64编码的理解,原生js实现字符base64编码

java单向加密算法小结--Base64算法