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

最新文章

  1. Matlab数值计算示例: 牛顿插值法、LU分解法、拉格朗日插值法、牛顿插值法
  2. Vue.js2.0从入门到放弃---入门实例
  3. from表单iframe原网页嵌入
  4. 用MathType编辑横三角形的方法
  5. C#时间转整型(时间戳),模仿php strtotime函数的部分功能
  6. 三大平衡树(Treap + Splay + SBT)总结+模板[转]
  7. HDOJ 4417 - Super Mario 线段树or树状数组离线处理..
  8. Python之路 Day12
  9. Practical Common Lisp
  10. IOS中的ViewController 的loadView、viewDidLoad、viewDidUnload
  11. [15单片机] STC15F104W开发入门及模拟串口程序
  12. 关于pandas 调用mongodb出Memory error错误
  13. 如何系统的学习Java
  14. java_14 Date
  15. 你真的了解volatile关键字吗?
  16. OS Tools-GO富集分析工具的使用与解读详细教程
  17. uva-529-枚举
  18. AspxGridView使用手记
  19. 如何在CentOS 6.5上升级PHP
  20. seo关键词

热门文章

  1. [Leetcode] 第290题 单词模式
  2. SVN更改地址
  3. intellij idea 2018 激活
  4. ubuntu linux 修改ip 超扎心。
  5. 【Django】中间件,csrf,缓存,信号
  6. 升级@Scheduled-分布式定时任务
  7. CentOS8-网卡配置
  8. 阿里云服务器ecs配置之安装tomcat
  9. linux mint 19.2与Windows 10 双系统硬盘安装与卸载
  10. 一个随意list引发的惨案(java到底是值传递还是引用 传递?)