0
点赞
收藏
分享

微信扫一扫

Java业务层进行MD5盐值加密存储至数据库

菜头粿子园 2022-03-26 阅读 66
htmlgitidea

加密

封装一个方法进行盐值加密:

//定义一个md5算法的加密处理
private String getMD5Password(String password,String salt){
    //md5加密算法方法的调用
    //3次加密
    for (int i = 0; i < 3; i++) {
        password=DigestUtils.md5DigestAsHex((salt+password+salt).getBytes()).toUpperCase();
    }
    //返回加密之后的密码
    return password;
}

使用封装方法进行加密:

//密码加密处理的实现:md5算法的形式
//(串+password+串)
String oldPassword = user.getPassword();//oldpassword为前端传来的注册密码
String salt = UUID.randomUUID().toString().toUpperCase();//salt设置的盐值,取自uuid
//补全数据:盐值记录
user.setSalt(salt);//记录,方便登录时使用
String md5Password = getMD5Password(oldPassword, salt);//调用MD5盐值加密方法

user.setPassword(md5Password);//存储进行盐值加密后的密码

解密

不是真正意义上的解密,是将用户登录时输入的密码进行相同的MD5盐值加密后,判断和数据库中的密码是否相等

举报

相关推荐

0 条评论