首页 > 编程 > Java > 正文

java代码实现MD5加密及验证过程详解

2019-11-26 08:29:40
字体:
来源:转载
供稿:网友

MD5加密

在我们的程序中,不管是什么,都会有安全问题,今天就说的是MD5加密的方法

MD5是哈希算法,也就是 从明文A到密文B很容易,但是从密文B到明文A几乎不可能

也就是说,给你密文,是几乎无法通过解密来得到明文的。

这个一般用于存储密码。也就是数据库里存的是密文,管理员只能看到密文,而看不到明文。

在pom文件导入相关依赖

  <!--MD5依赖-->  <dependency>   <groupId>org.apache.commons</groupId>   <artifactId>commons-lang3</artifactId>   <version>3.3.2</version>  </dependency>  <dependency>    <groupId>commons-codec</groupId>    <artifactId>commons-codec</artifactId>   </dependency>

添加MD5工具类

import org.apache.commons.codec.digest.DigestUtils;public class Md5 { public final static String md5key = "Ms2"; /**  * MD5方法  * @param text 明文  * @param key 密钥  * @return 密文  * @throws Exception  */ public static String md5(String text, String key) throws Exception {  //加密后的字符串  String encodeStr= DigestUtils.md5Hex(text + key);  System.out.println("MD5加密后的字符串为:encodeStr="+encodeStr);  return encodeStr; } /**  * MD5验证方法  * @param text 明文  * @param key 密钥  * @param md5 密文  * @return true/false  * @throws Exception  */ public static boolean verify(String text, String key, String md5) throws Exception {  //根据传入的密钥进行验证  String md5Text = md5(text, key);  if(md5Text.equalsIgnoreCase(md5))  {   System.out.println("MD5验证通过");   return true;  }  return false; }}

简单说一下里面的md5方法和verify方法

md5方法

  • 方法说明:加密明文
  • 第一个传参的参数是需要加密的文字
  • 第二个传参的参数是需要密钥
  • 这个方法会return出加密后的MD5密文

verify方法

  • 方法说明:将明文转密文,密文与密文进行比较,判断是否一致
  • 第一个参数是明文
  • 第二个参数是密钥
  • 第三个参数是密文
  • return 出判断结果

里面还有一个变量md5key 这个就是我们的密钥

通过这个密钥对明文进行加密

使用我们在使用这个方法时

要获取密钥可以直接调用这个变量

当然这个密钥也可以自己设置

这就是我们的MD5加密方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表