package com;import java.io.UnsupportedEncodingException;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;public class Demo {public static void main(String[] args) {String str = "zhang";String base64=getBase64(str);System.out.println(base64);String res = getFromBase64(base64);System.out.println(res);}//加密public static String getBase64(String str){byte[] b=null;String s=null;try {b = str.getBytes("utf-8");} catch (UnsupportedEncodingException e) {e.printStackTrace();}if(b!=null){s=new BASE64Encoder().encode(b);}return s;}// 解密 public static String getFromBase64(String s) { byte[] b = null; String result = null; if (s != null) { BASE64Decoder decoder = new BASE64Decoder(); try { b = decoder.decodeBuffer(s); result = new String(b, "utf-8"); } catch (Exception e) { e.printStackTrace(); } } return result; } }
如果編譯器報錯的話,
Access restriction: The method encode(byte[]) from the type CharacterEncoder is not accessible due to restriction on required library C:\Program Files\Java\jre1.6.0_02\lib\rt.jar
調用BASE64Encoder和BASE64Decoder時出現錯誤
解決方案如下
eclipse下Window-->Preferences-->Java-->Compiler-->Error/Warnings.
Select Deprecated and Restricted API. Change it to warning.
Change forbidden and Discouraged Reference and change it to warning. (or as your need.