首页 > 代码库 > java安全——BASE64

java安全——BASE64

这个主题主要是关于java安全的,应该来说算是个大杂烩吧,但是又不缺乏实用性,算是作为一个总结,用的时候可以作为参考。

1、使用BASE64加解密

在java加密技术中,BASE64算是一种最简单、最基本的加密技术。详见如下例子:

import java.io.IOException;import Decoder.BASE64Decoder;import Decoder.BASE64Encoder;public class Base64Test {  public static void main(String[] args) throws IOException{      String data = "我是一个需要加密的数据";      System.out.println("加密前:"+data);      String data1 = encryptBASE64(data.getBytes());      System.out.println("加密后:"+data1);      byte[] data2 = decryptBASE64(data1);      System.out.println("解密后:"+new String(data2));  }    private static String encryptBASE64(byte[] data){      return(new BASE64Encoder()).encodeBuffer(data);  }    private static byte[] decryptBASE64(String data) throws IOException{      return (new BASE64Decoder()).decodeBuffer(data);  }}

结果:

加密前:我是一个需要加密的数据加密后:ztLKx9K7uPbQ6NKqvNPD3LXEyv2+3Q==解密后:我是一个需要加密的数据

使用BASE64加密后的字符串个数都是4的倍数,一个字符占两个字节,也就是说BASE64加密以后的字符串必须是8个字节的倍数,如果不足,需要在后面补“=”号,所以很多时候能看到使用BASE64加密后的字符以“=”结束。

使用BASE64加密后的字符串每隔76个字符都会插入一个回车符,所以即使明文很长,打印出来的密文也不会在一行显示。但是在解密时,这些回车符显得无足轻重,即使密文不含回车符也可以正常解密。