软件编程
位置:首页>> 软件编程>> java编程>> java代码实现MD5加密及验证过程详解

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

作者:我的有趣住在无趣里  发布时间:2023-09-26 02:50:45 

标签:java,MD5,加密,验证

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加密方法

来源:https://www.cnblogs.com/liujunwei/p/11657087.html

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com