JAVA实现Base64编码的三种⽅式Javabase64编码的三种⽅式
有如下三种⽅式:
⽅式⼀:commons-codec.jar
Java代码
1. String base64String="whuang123";
2. byte[] result = Bytes());
⽅式⼆:使⽤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. }
decoder
25.
26. returnbt;
27. }
⽅式三:使⽤s.internal.impl.dv.util.Base64 Java代码
1. /***
2. *encodebyBase64
3. */
4. publicstaticStringencodeBase64(byte[]input)throwsException{
5. Classclazz=Class
6. .forName("s.internal.impl.dv.util.Base64");
7. Method("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("s.internal.impl.dv.util.Base64");
19. Method("decode",String.class);
20. mainMethod.setAccessible(true);
21. ObjectretObj=mainMethod.invoke(null,input);
22. return(byte[])retObj;
23. }
运⾏结果如下:
推荐使⽤⽅式⼀。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。