加密与解密
md5和sha256需要引入common-codec.jar,而Base64为jdk自带无需导包。
使用MD5加密
DigestUtil.md5Hex(byte [] )可对字节数组进行加密,返回加密后的16进制表示的字符串。这里输入参数是byte[],就可以不局限与只对字符串加密,而是包括对象、数据流、音频等等。
而DigestUtil.md5(byte [])返回值是byte[]。
结果:
使用sha256加密
结果:
两种加密方式的比较:
md5和sha256都是不可逆加密,但是md5加密速度更快些,sha256安全性更高些。
使用jdk自带的Base64加密和解密
Base64为jdk自带,无需引入其他jar包。
加密: 任意类型(byte[])---->String
public static String encode(byte[] binaryData) {
}
解密:String -------> 任意类型(byte[])
public static byte[] decode(String encoded) {
}
调用和结果:
可以看到使用Base64是可逆的,即可以加密也可解密