王小云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));
//密码+盐处理
StringcryptPwd=Md5Crypt.md5Crypt(registerRequest.getPwd().getBytes(),userDO.getSecret());
//保存加密后的密码
userDO.setPwd(cryptPwd);

publicstaticStringgetStringNumRandom(intlength){
Randomrandom=newRandom();
//生成随机数字和字母,
StringBuildersaltString=newStringBuilder(length);
for(inti=1;i<=length;++i){
saltString.append(ALL_CHAR_NUM.charAt(random.nextInt(ALL_CHAR_NUM.length())));
}
returnsaltString.toString();
}扥时候。再使用相同的方法验证密码是否一致

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

List<UserDO>userDOList=userMapper.selectList(newQueryWrapper<UserDO>().eq("mail",loginRequest.getMail()));
if(userDOList!=null&&userDOList.size()==1){
//已经注册
UserDOuserDO=userDOList.get(0);
StringcryptPwd=Md5Crypt.md5Crypt(loginRequest.getPwd().getBytes(),userDO.getSecret());
if(cryptPwd.equals(userDO.getPwd())){
//登陆成功。生成tokenTODO
returnnull;
}else{
returnjsonData.buildResult(BizCodeEnum.ACCOUNT_PWD_ERROR);
}

以上就是由优质生活领域创作者 生活常识网 整理编辑的,如果觉得有帮助欢迎收藏转发~

分享到 :
相关推荐

孔融让梨的故事(知孔融让梨典故)

请用语音读文章东汉鲁国。有个名叫孔融的孩子。十分聪明。也非常懂事。孔融还有五个哥哥[...

搜索淘宝店铺怎么搜索(淘宝店铺开通流程)

请用语音读文章客户在淘宝上搜索商品主要有四种方法。第一种是输入关键词搜索。第二种是[...

全国好玩的免费景点(国内好玩的免费景点排行榜前十名)

请用语音读文章中国是一个地大物博的国家。国土面积非常的广阔。历史文化非常的丰富。而[...

网站被人攻击怎么办(3种网站攻击的解决办法)

请用语音读文章昨天一个老哥寻找我。说他的服务器这几天一直被CC进攻。问我这边有没有[...

发表评论

您的电子邮箱地址不会被公开。