MD5加密验证登录密码怎么实现
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"MD5加密验证登录密码怎么实现",在日常操作中,相信很多人在MD5加密验证登录密码怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"MD5加密验证
千家信息网最后更新 2026年10月31日MD5加密验证登录密码怎么实现
这篇文章主要介绍"MD5加密验证登录密码怎么实现",在日常操作中,相信很多人在MD5加密验证登录密码怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"MD5加密验证登录密码怎么实现"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
加密,指的是对数据进行转换以后,数据变成了另一种格式,并且除了拿到解密方法的人,没人能把数据转换回来。
因此,加密通常用于网络通信。因为网络上的通信数据,任何人都有可能会拿到,把数据加密后再传送,送达以后由对方解密后再查看,就可以防止网络上的偷窥。
MD5是一种常用的的加密算法。
01
工具类:MD5Util
package com.zd.ems.util;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/*** MD5加密解密**/public class MD5Util {/*** MD5加密方法* @param str不允许为null 传入的需要进行MD5加密的String字符串,* @return MD5加密后的字符串* @throws NoSuchAlgorithmException*/public static String EncodeByMD5(String str) throws NoSuchAlgorithmException{//获取一个信息摘要器MessageDigest messageDigest = MessageDigest.getInstance("MD5");//通过将字符串填充到摘要器中并进行hash计算得到一个长度为16的byte数组byte[] weitHandleByte = messageDigest.digest(str.getBytes());//临时存放weitHandleByteint tempWeitHandleByte;//创建一个StringBuffer 用于装在载加密后的字符StringBuffer sb = new StringBuffer();//遍历获取到的byte数组,生成具体的MD5密码for (byte b : weitHandleByte) {tempWeitHandleByte = b;if(tempWeitHandleByte<0)tempWeitHandleByte+=265;if(tempWeitHandleByte<16)sb.append("0");sb.append(Integer.toHexString(tempWeitHandleByte));}return getBegginAndEndStr(sb.toString().substring(8, 24));}/*** @param str不允许为null 需要核对的字符串* @param codeStr str经过MD5加密后的字符串* @return 返回对比结果* @throws NoSuchAlgorithmException*/public static boolean DecodeByMD5(String str,String codeStr) throws NoSuchAlgorithmException{String temp = EncodeByMD5(str);if(temp.startsWith(codeStr.substring(0, 5))&&temp.endsWith(codeStr.substring(11,16)))return true;elsereturn false;}/*** 为了防止暴力破解密码,因此需要经过截取前5个字符和后5个字符以及随机生成的6个字符拼接字符串* @param str MD5加密后的字符串* @return 返回经过截取前5个字符和后5个字符以及随机生成的6个字符拼接而成的字符串*/private static String getBegginAndEndStr(String str){//截取MD5加密后的前5个字符String beggin = str.substring(0,5);//截取MD5加密后的后5个字符String end = str.substring(11,16);//创建6个随机的字符String middle="";for(int i=0;i<3;i++)middle = middle+Integer.toHexString((int)(16+Math.random()*(265-16+1)));return beggin+middle+end;}}
02
新增用户时对密码加密
//用户输入123456//对输入的密码进行加密:使用MD5Util.EncodeByMD5("要加密的密码")employee.setPassword(MD5Util.EncodeByMD5(employee.getPassword()));//数据库中保存的密码格式65d718af4e40b3f203
用户登录时检验密码正确性
//首先根据用户名查询用户对象:用户名要唯一Employee emp=empService.login(username);//如果用户存在if(!StringUtils.isEmpty(emp)) { //MD5验证密码:其实就是对数据库中的密码进行解密 Boolean check=MD5Util.DecodeByMD5(password, emp.getPassword()); //如果数据库中解密后的密码与登录页面输入的密码一致,登录成功 if(check) { HttpSession session = request.getSession(); session.setAttribute("employee", emp); result.put("employee",emp); result.put("userExsit",true); }else { result.put("userExsit",false); }到此,关于"MD5加密验证登录密码怎么实现"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
加密
字符
密码
字符串
数据
登录
用户
验证
学习
数据库
方法
网络
生成
输入
摘要
数组
更多
格式
用户名
帮助
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手冲咖啡和咖啡机区别
互联网和科技技术
今日互联网科技
天下捷融互联网科技
互联网金融 科技创新
互联网科技宣传片
联恩商钥互联网科技有限公司
成都玖崟互联网科技有限公司乐商圈怎么样
科技与互联网的利与弊
科技互联网的估值
央行互联网金融科技公司
互联网经济与金融科技
互联网保险科技创业
爱医互联网络科技
宇信科技在杭州互联网排第几
万物互联网智能科技
湖北辰鑫科技互联网
陕西九四连强互联网科技有限公司
上海万顺科技互联网有限公司招聘
互联网科技创业计划的风险分析
互联网科技名片
广东猪兼强互联网科技有限公司
互联网电商科技
麻工互联网科技
互联网科技咨询
国外互联网科技网站
天速互联网络科技有限公司
湖南一路畅行互联网科技
世界互联网领先科技成果获奖
电子商务与互联网科技的关系