背景
为了防止一些敏感信息泄露,或者一种第三方接入渠道安全性的保障以及身份识别,需要对信息进行加密操作。
加密方式
加密方式有很多种,最常规的分类就是是否可逆,也就是说是否可以反向解密;
不可逆加密算法
不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。
简单说,只能正向加密,不能逆向解密;
常见的算法有MD5、SHA
/**
* md5加密
* @return
*/
public static byte[] getMd5(byte[] mingwen) throws NoSuchAlgorithmException {
MessageDigest md5 = MessageDigest.getInstance("MD5");
md5.update(mingwen);
return md5.digest();
}
public static String getMd5String(byte[] mingwen) throws NoSuchAlgorithmException {
return Base64.encodeBase64String(getMd5(mingwen));
}
public static void main(String[] args) throws UnsupportedEncodingException, NoSuchAlgorithmException {
byte[] aa = "12331234567890-=asdasd123edazsdv243gqav".getBytes("utf-8");
System.out.println(getMd5String(aa));
System.out.println(getMd5String(aa));
}
爱人待产 未完待续