当前位置: 首页 > 编程笔记 >

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

孟意致
2023-03-14
本文向大家介绍java代码实现MD5加密及验证过程详解,包括了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加密方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍Java实现MD5加密及解密的代码实例分享,包括了Java实现MD5加密及解密的代码实例分享的使用技巧和注意事项,需要的朋友参考一下 基础:MessageDigest类的使用 其实要在Java中完成MD5加密,MessageDigest类大部分都帮你实现好了,几行代码足矣: 进阶:加密及解密类 Java实现MD5加密以及解密类,附带测试类,具体见代码。 MD5加密解密类——MyMD5

  • 本文向大家介绍微信小程序 MD5加密登录密码详解及实例代码,包括了微信小程序 MD5加密登录密码详解及实例代码的使用技巧和注意事项,需要的朋友参考一下 微信小程序 MD5加密      在小程序中,页面的脚本逻辑是在JsCore中运行,JsCore是一个没有窗口对象的环境,所以不能在脚本中使用window,也无法在脚本中操作组件。zepto/jquery 也无法使用,因为zepto/jquery

  • 本文向大家介绍详解C#实现MD5加密的示例代码,包括了详解C#实现MD5加密的示例代码的使用技巧和注意事项,需要的朋友参考一下 C#实现MD5加密,具体如下: 方法一 首先,先简单介绍一下MD5 MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer science和rsa data security

  • 本文向大家介绍JS实现的base64加密、md5加密及sha1加密详解,包括了JS实现的base64加密、md5加密及sha1加密详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现的base64加密、md5加密及sha1加密。分享给大家供大家参考,具体如下: 1、base64加密 在页面中引入base64.js文件,调用方法为: 2、md5加密 在页面中引用md5.js文件,调用

  • 没有用第三方类库,实现md5常规加密、md5二次加密、sha1、sha256、sha384、sha512加密。 作者说:新手可以参照代码学习ios的加密实现。使用详解:http://developerpan.blog.51cto.com/blog/7454463/1254875 [Code4App.com]

  • 本文向大家介绍swift MD5加密源码的实例详解,包括了swift MD5加密源码的实例详解的使用技巧和注意事项,需要的朋友参考一下 swift MD5加密源码的实例详解 因为MD5加密是不可逆的,所以一般只有MD5加密的算法,而没有MD5解密的算法。 创建一个Sting+MD5.Swift字符串分类文件(同时此处需要创建一个bridge.h桥接文件,引入这个头文件 #import <Commo