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. [email protected]
5. [email protected]
6. */
7. publicstaticStringencode(byte[]bstr){
8. return new sun.misc.BASE64Encoder().encode(bstr);
9. }
10.
11. /**
12. *解碼
13. *
14. [email protected]
15. [email protected]
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編碼的三種方式