import org.apache.commons.codec.digest.DigestUtils;
public class MD5Jiami {
/**
* @param text明文
* @param key密钥
* @return 密文
*/
// 带秘钥加密
public static String md5Encode(String text, String key) throws Exception {
// 加密后的字符串
String md5str = DigestUtils.md5Hex(text + key);
return md5str;
}
// 不带秘钥加密
public static String md5Encode2(String text) throws Exception {
// 加密后的字符串
String md5str = DigestUtils.md5Hex(text);
return md5str;
}
/**
* MD5验证方法
*
* @param text明文
* @param key密钥
* @param md5密文
*/
// 根据传入的密钥进行验证
public static boolean verify(String text, String key, String md5) throws Exception {
String md5str = md5Encode(text, key);
if (md5str.equalsIgnoreCase(md5)) {
System.out.println("MD5验证通过");
return true;
}
return false;
}
// 测试
public static void main(String[] args) throws Exception {
String str = "absdabsdasdjqw";
System.out.println("加密的字符串:" + str + "\t长度:" + str.length());
String md5str = MD5Jiami.md5Encode(str,"2019");
System.out.println("MD5加密后的字符串为:" + md5str+" 长度为 :"+md5str.length());
verify(str,"2019","e62d8faabd1a7a98980fbae153beb3ca");
}
}