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 加密
Java 语言实现 MD5 加密 背景说明 在实际项目中,为了安全性考虑,经常要求账号密码是以加密后的密文形式,保存到数据库中. 这样,即使有人获取到了数据库中的密文密码,也不知道明文密码信息是什么, ...
- Java 自带MD5加密 Demo
package demo; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; pub ...
- Java基础-使用JAVA代码剖析MD5算法实现过程
Java基础-使用JAVA代码剖析MD5算法实现过程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- Java中使用MD5加密的简单实现
import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorith ...
- java 短连接+MD5加密短链接
java 短连接+MD5加密短链接 import java.security.MessageDigest; public class ShotUrlUtil { public static void ...
- 通过java语言实现MD5加密
通过java语言实现MD5加密public static String getMd5(String str) { try { MessageDigest md5 = MessageDigest.get ...
- Java语言编写MD5加密方法,Jmeter如何给字符串MD5加密
package md5package; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; ...
- java中使用MD5加密技术
在项目中经常会对一些信息进行加密,现在常用的信息加密技术有:MD5.RSA.DES等,今天主要说一下,md5加密,以及如何在java代码根据自己的业务需求使用md5. MD5简介: MD5即Messa ...
- java和c# md5加密
MD5加密的方式有很多,加盐的方式更多,最近项目需要java和c#加密结果一致,形成方法如下: 1.c#加密方法/// <summary> /// MD5 加密字符串 /// </s ...
随机推荐
- XSS攻击-原理学习
本文优先发布于简书https://www.jianshu.com/p/04e0f8971890 1.百度百科XSS,跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样 ...
- Java StringTokenizer 类使用方法
Java StringTokenizer 属于 java.util 包,用于分隔字符串. StringTokenizer 构造方法: 1. StringTokenizer(String str) :构 ...
- Python学习笔记整理总结【Memcache & Redis(基础+主从架构)】
一.Memcached1.简介Memcached 是一个高性能的分布式内存对象缓存系统,一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度.提高可扩展性.用来存储 ...
- JVM调优—Jstack
Java命令学习系列(二)——Jstack jstack是java虚拟机自带的一种堆栈跟踪工具. 功能 jstack用于生成java虚拟机当前时刻的线程快照.线程快照是当前java虚拟机内每一条线 ...
- Spring MVC-从零开始-web.xml中classpath和classpath* 有什么区别
web.xml中classpath和classpath* 有什么区别?classpath:只会到你的class路径中查找找文件;classpath*:不仅包含class路径,还包括jar文件中(cla ...
- Circular RNA的产生机制、功能及RNA-seq数据鉴定方法
推荐关注微信公众号:AIPuFuBio,和使用免费生物信息学资源和工具AIPuFu:http://www.aipufu.com. [Circular RNA的产生机制] Circular RNA,缩写 ...
- 朱晔和你聊Spring系列S1E11:小测Spring Cloud Kubernetes @ 阿里云K8S
有关Spring Cloud Kubernates(以下简称SCK)详见https://github.com/spring-cloud/spring-cloud-kubernetes,在本文中我们主要 ...
- 简单动态字符串(SDS)
SDS 前提:在redis中,C字符串只会作为字符串字面量用在一些无须对字符串进行修改的地方,比如打印日志: redisLog(REDIS_WARNING, “Redis is ready to ex ...
- js 验证数据类型的4中方法
1.typeof 可以检验基本数据类型 但是引用数据类型(复杂数据类型)无用: 总结 : typeof 无法识别引用数据类型 包括 bull; 2.instanceof是一个二元运算符,左操作数 ...
- vue运行报错webpack-dev-server: command not found
翻译过来就是: 'webpack-dev-server' 不是内部或外部命令,也不是可运行的程序 解决方法: 然后总结下成功的步骤: 1. 直接在项目目录下: cnpm install npm run ...