java代码实现MD5加密及验证过程详解
MD5加密
在我们的程序中,不管是什么,都会有安全问题,今天就说的是MD5加密的方法
MD5是哈希算法,也就是从明文A到密文B很容易,但是从密文B到明文A几乎不可能
也就是说,给你密文,是几乎无法通过解密来得到明文的。
这个一般用于存储密码。也就是数据库里存的是密文,管理员只能看到密文,而看不到明文。
在pom文件导入相关依赖
org.apache.commons commons-lang3 3.3.2 commons-codec commons-codec
添加MD5工具类
importorg.apache.commons.codec.digest.DigestUtils; publicclassMd5{ publicfinalstaticStringmd5key="Ms2"; /** *MD5方法 *@paramtext明文 *@paramkey密钥 *@return密文 *@throwsException */ publicstaticStringmd5(Stringtext,Stringkey)throwsException{ //加密后的字符串 StringencodeStr=DigestUtils.md5Hex(text+key); System.out.println("MD5加密后的字符串为:encodeStr="+encodeStr); returnencodeStr; } /** *MD5验证方法 *@paramtext明文 *@paramkey密钥 *@parammd5密文 *@returntrue/false *@throwsException */ publicstaticbooleanverify(Stringtext,Stringkey,Stringmd5)throwsException{ //根据传入的密钥进行验证 Stringmd5Text=md5(text,key); if(md5Text.equalsIgnoreCase(md5)) { System.out.println("MD5验证通过"); returntrue; } returnfalse; } }
简单说一下里面的md5方法和verify方法
md5方法
- 方法说明:加密明文
- 第一个传参的参数是需要加密的文字
- 第二个传参的参数是需要密钥
- 这个方法会return出加密后的MD5密文
verify方法
- 方法说明:将明文转密文,密文与密文进行比较,判断是否一致
- 第一个参数是明文
- 第二个参数是密钥
- 第三个参数是密文
- return出判断结果
里面还有一个变量md5key这个就是我们的密钥
通过这个密钥对明文进行加密
使用我们在使用这个方法时
要获取密钥可以直接调用这个变量
当然这个密钥也可以自己设置
这就是我们的MD5加密方法
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。