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();}扥时候 。再使用相同的方法验证密码是否一致
登录的时候 。再使用相同的方法验证密码是否一致
【王小云md5破解方法 md5逆向破解教程步骤】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())){//登陆成功 。生成tokenTODOreturnnull;}else{returnjsonData.buildResult(BizCodeEnum.ACCOUNT_PWD_ERROR);}
- 如何将自己开发的网站部署到阿里云上?
- 李云龙用重金调来孙德胜,未打过一次胜仗,李云龙亏了吗?
- 昌泰2004年/云雾圆茶青饼
- 古人云:遍尝水果可成仙
- 手机资料备份,你觉得电脑备份靠谱还是云端备份靠谱?你是怎么备份数据的?
- 苹果手机照片备份到百度云好还是ICloud好?
- 华为免费的云存储空间太小又不想购买,有什么好的第三方软件能备份图库中的所有数据?
- 想要把照片备份到网盘,你觉得哪个云盘靠谱?
- 手机上的 目前哪个云盘软件可靠好用?还免费?
- 马化腾2427亿超马云成中国首富,是王者荣耀帮助了他吗?
