文章插圖

文章插圖
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();}扥時候,再使用相同的方法驗證密碼是否一致登錄的時候,再使用相同的方法驗證密碼是否一致【MD5破解器 md5破解工具】
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 TODOreturn null;} else {return JsonData.buildResult(BizCodeEnum.ACCOUNT_PWD_ERROR);}
- flv轉換器mp4格式 mp4怎么轉換成flv格式
- 用手機把dat轉換mp4 dat轉mp4轉換器app
- qq自動聊天機器人軟件 自動聊天機器人軟件怎么制作
- 視頻播放器排行榜前十名軟件 視頻播放器排行榜前十名手機
- PC萬能播放器 pc端最好用的播放器
- 手機怎么解鎖rar rar解壓密碼怎么破解手機
- 鼠標連點軟件哪個好 最好用的鼠標連點器
- 視頻編輯器哪個好用 手機視頻剪輯軟件哪個好用
- 手機圖片修改器 手機圖片修改軟件
- 地圖下載器哪個好用 下載哪種地圖好
