一、什么是MD5和AES
MD5加密:是一种单向的、不可逆的加密算法,目前是最牢靠的加密算法之一,它对应任何字符串都可以加密成一段唯一的固定长度(16位)的代码。并且相同字符串,加密后也是一样的。
AES加密:高级加密标准,是对称式加密算法,既可以加密,也可以解密,加密和解密使用同一个密钥。使用不同的密钥,加密后也是不一样的。信息接收双方都需事先知道密匙且其密匙是相同的,之后便是对数据进行加解密了。对称加密算法用来对敏感数据等信息进行加密。
二、MD5和AES的使用
MD5: 主要用在项目中的,用户名密码以加密的方式存储在数据库里,防止数据被篡改、防止直接存储明文,保证其安全性。在登录和修改密码中都会用到。
// 根据手机号码和登录密码查找用户
//登录密码需要使用MD5进行加密
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
System.out.println(loginPassword);
System.out.println(HashKit.md5(loginPassword));
User selectUserByPhoneAndPwd = mapper.selectUserByPhoneAndPwd(loginPhoneNumber,HashKit.md5(loginPassword) );
//用户编号
user.setUserId(userId);
//新设置的登录密码(MD5加密)
user.setLoginPassword(HashKit.md5(newPwd