计算机里面的加解密其实是和编程语言无关的,而且随着计算机的飞速发展,各种各样的加解密、包括安全策略不断变化。这里只介绍最简单的,后面会有单独的章节来单独介绍加密。
ApacheCodec里面包含了一些常用的加解密算法,可以直接调用。
代码参见com.critc.CodecTest
:
public static void main(String[] args) {
//MD5加密
System.out.println("MD5加密:" + DigestUtils.md5Hex("abc"));
//sha加密
System.out.println("sha加密:" + DigestUtils.shaHex("def").toString());
//加密
String str = "abc"; // abc为要加密的字符串
byte[] b = Base64.encodeBase64(str.getBytes(), true);
System.out.println("base64加密:" + new String(b));
//解密
String str2 = "YWJj"; // YWJj为要解密的字符串
byte[] b2 = Base64.decodeBase64(str2.getBytes());
System.out.println("base64解密:" + new String(b2));
}
这里面要说明一下,MD5和sha是不可逆的,一般用于密码等敏感信息的加密,base64是可逆的,特别适合在http,mime协议下快速传输数据。