BASE64java入门

感谢博客   http://justsee.iteye.com/blog/747824   

  ●  BASE64 严格地说,属于编码格式,而非加密算法
    ●  MD5(Message Digest algorithm 5,信息摘要算法)
    ●  SHA(Secure Hash Algorithm,安全散列算法)
    ●  HMAC(Hash Message Authentication Code,散列消息鉴别码)复杂的对称加密(DES、PBE)、非对称加密算法:
    ●  DES(Data Encryption Standard,数据加密算法)
    ●  PBE(Password-based encryption,基于密码验证)
    ●  RSA(算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman)
    ●  DH(Diffie-Hellman算法,密钥一致协议)
    ●  DSA(Digital Signature Algorithm,数字签名)
    ●  ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)

    

1.在公司发现数据库中密码经过加密,在action中找到加密方法,回家研究

  公司的项目导入到家里的IDE后发现BASE64Encoder找不到,应该是jar包的问题!重心导入jre就可以了

  sun.misc.BASE64Decoder/BASE64Encoder这两个类位于jre/rt.jar/sun.misc.XXX

2.byte[]与String间转换

3.new Encoder/Decoder实例,调encode()/decodeBuffer()方法,或其他方法

4.BASE64加密之后的字节数是8的倍数,不够的位数用=填充

 1     public static void main(String[] args)
 2     {
 3         BASE64Encoder encoder = new BASE64Encoder();
 4         BASE64Decoder decoder = new BASE64Decoder();
 5 
 6         String begin = "hello world";
 7         // String转byte[]
 8         byte[] beginBytes = begin.getBytes();
 9 
10         String encode = encoder.encode(beginBytes);
11 
12         System.out.println("begin : " + begin);
13         System.out.println("encode: " + encode);
14 
15         try
16         {
17             byte[] decodeBytes = decoder.decodeBuffer(encode);
18             //byte[]转String
19             String decode = new String(decodeBytes);
20             System.out.println("decode: " + decode);
21         }
22         catch (IOException e)
23         {
24             e.printStackTrace();
25         }
26     }
原文地址:https://www.cnblogs.com/dirkmurphyjava/p/3280667.html