加密md5格式 (不可逆的md5加密)

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>

js的md5加密解密,md5加密与解密原理

js的md5加密解密,md5加密与解密原理

问:为什么要进行两次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);
 }
}