java代码实现对文件的base64加密解密

来源:互联网 发布:mac光盘怎么弹出 编辑:程序博客网 时间:2024/04/30 12:30

Base64编码方法:将每三个8bit的字节转换为四个6bit的字节,其中,转换之后的这四个字节中每6个有效Bbit为有效数据,空余的那2个用0补上成为一个字节,java中可直接调用算法进行base64加密解密。

public class base64 {    public static void main(String[] args){        File file = new File("D:\\base64.txt");        String result = getFromBase64(file2String(file));        System.out.println(result);    }    //文件转字符串    public static String file2String(File file){        try {            BufferedReader buffer = new BufferedReader(new FileReader(file));            StringBuilder sb = new StringBuilder();            String temp;            while((temp = buffer.readLine()) !=null ){                sb.append(temp);            }            return sb.toString();        } catch (FileNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();            return null;        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();            return null;        }    }    //加密    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 str){        byte[] b = null;        String result = null;        if(str != null){             BASE64Decoder decoder = new BASE64Decoder();               try {                      b = decoder.decodeBuffer(str);                      result = new String(b, "utf-8");                  } catch (Exception e) {                      e.printStackTrace();                  }          }        return result;    }}
0 0