为保证用户的私密性,开发人员也不可看到用户的密码。如图:
外部定义一个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);