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 }