MD5
作用:1、通常用来加密密码等 2、还可以验证一个数据的完整性
特点:
1、结果是唯一的 ,只要一个字节不一样,结果不一样
2、不可逆的
3、任意长度的数据,计算出来的MD5的值长度都是固定的
使用
在使用的前提是导入jar包或者引入maven,我这里就引入maven
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.3.2</version> </dependency>


问:为什么要进行两次MD5加密
答:这样可以更安全,别人更不好破解
以下代码为方便复制粘贴
public class MD5Test {
/**
* 加密
* @param text 明文
* @param key 密钥
* @return 密文
*/
public static String md5(String text,String key){
String s = DigestUtils.md5Hex(text + key);
System.out.println("加密后的字符串" + s);
return s;
}
/**
* MD5验证方法
*
* @param text 明文
* @param key 密钥
* @param md5 密文
* @return true/false
*/
public static boolean verify(String text, String key, String md5) {
//根据传入的密钥进行验证
String md5Text = md5(text, key);
if(md5Text.equalsIgnoreCase(md5))
{
System.out.println("MD5验证通过");
return true;
}
return false;
}
public static void main(String[] args) {
String text = "我是密码";
String key = "密钥";
System.out.println("第一次加密:---------");
String md5 = md5(text, key);
System.out.println("第二次加密:---------");
String s = md5(md5, key);
verify(md5,key,s);
}
}