1.常用的加密方式
常见的加密算法可分为三大类:对称加密,非对称加密和hash算法
对称加密:加密和解密使用相同的密钥。
DES、3DES、AES、Blowfish、IDEA、DESX、RC-4、RC-5、RC-6
非对成加密:加密和解密使用不同的密钥
RSA、ECC、DSA
hash算法:通过算法将值映射到表中一个位置来訪问记录,以加快查找的速度。的主要适用于空间换时间
MD5、HMAC、SHA、SHA-1、MD2、MD4、HMAC-MD5、HMAC-SHA
2.简单加密
对密码简单加密
使用md5加密
因为 md5是不可逆的,输入相同的密码再次进行加密就可以得到与之前相同的结果
所以使用md5不可逆加密即可
/**
* 简单加密
*/
@Test
public void secretSum(){
String password = "123456";
String salt="oiwqfonwonfnwionf";
String result = getMD5(password+salt);
System.out.println("调试输出:"+ JSON.toJSONString(result));
}
/**
* 对字符串md5加密(小写字母+数字)
*
* @param str 传入要加密的字符串
* @return MD5加密后的字符串
*/
public static String getMD5(String str) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(str.getBytes());
return new BigInteger(1, md.digest()).toString(16);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}