md5加密工具怎么用(分享md5加密代码)

发布日期:2024-11-21 17:04:30     手机:https://m.xinb2b.cn/wenda/news72006.html    违规举报
核心提示:Md5优点:快速计算m,具有单向性 one-way,不可由散列值推出原消息,但是如果密码过于简单就会有一定概率被暴力破解。 密码存储常用方式: 1、双重MD5 2、MD5+加盐 3、双重MD5+加盐 我一般使用2,只要数据库没有被攻破,密码

md5加密工具怎么用(分享md5加密代码)

Md5优点:快速计算m,具有单向性 one-way,不可由散列值推出原消息,但是如果密码过于简单就会有一定概率被暴力破解。

密码存储常用方式:

1、双重MD5

2、MD5+加盐

3、双重MD5+加盐

我一般使用2,只要数据库没有被攻破,密码被暴力破解的概率是微乎其微的。

pom文件:

<!--用于加密--><dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId></dependency //userDO.setPwd(registerRequest.getPwd());// secret 保存盐userDO.setSecret("$1$" + CommonUtil.getStringNumRandom(8));// 密码 + 盐处理String cryptPwd = Md5Crypt.md5Crypt(registerRequest.getPwd().getBytes(), userDO.getSecret());// 保存加密后的密码userDO.setPwd(cryptPwd); public static String getStringNumRandom(int length) { Random random = new Random(); //生成随机数字和字母, StringBuilder saltString = new StringBuilder(length); for (int i = 1; i <= length; ++i) { saltString.append(ALL_CHAR_NUM.charAt(random.nextInt(ALL_CHAR_NUM.length()))); } return saltString.toString();}扥时候,再使用相同的方法验证密码是否一致

登录的时候,再使用相同的方法验证密码是否一致

List<UserDO> userDOList = userMapper.selectList(new QueryWrapper<UserDO>().eq("mail", loginRequest.getMail()));if (userDOList != null && userDOList.size() == 1) { //已经注册 UserDO userDO = userDOList.get(0); String cryptPwd = Md5Crypt.md5Crypt(loginRequest.getPwd().getBytes(), userDO.getSecret()); if (cryptPwd.equals(userDO.getPwd())) { //登陆成功,生成token TODO return null; } else { return JsonData.buildResult(BizCodeEnum.ACCOUNT_PWD_ERROR); }
 
 
本文地址:https://wenda.xinb2b.cn/news72006.html,转载请注明出处。

推荐图文
推荐问答知道
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  违规举报  |  蜀ICP备18010318号-4  |  百度地图  | 
Processed in 0.106 second(s), 91 queries, Memory 0.46 M