一个简单的MD5加密算法的应用

为保证用户的私密性,开发人员也不可看到用户的密码。如图:

外部定义一个MD5算法加密处理:

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

调用加密算法:

        //密码的加密处理的实现:md5算法
        //(串+password+串)----md5算法进行加密,连续加载三次
        //盐值+password+盐值----盐值就是一个随机的字符串
        String oldPassword=user.getPassword();//将用户的密码赋给oldPassword
        //获取盐值(随机生成一个)
        String salt=UUID.randomUUID().toString().toUpperCase();
        //补全数据:盐值的记录
        user.setSalt(salt);
        //将密码和盐值作为一个整体进行加密处理,忽略原有密码的强度提升了数据的安全性
        String md5Password=getMD5Password(oldPassword,salt);
        //将加密之后的密码重新补全设置到user对象中
        user.setPassword(md5Password);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值