加密方法
* 加密
* @param password 明文密码
* @return 密文
*/
public static String md5(String password){
// String password = "123456";
try {
MessageDigest md5 = MessageDigest.getInstance("md5");
//把密码转换为byte类型
byte[] b = password.getBytes();
//加密
byte[] digest =md5.digest(b);
//16进制的字符
char[] c ={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
//用于储存加密后的字符串
StringBuffer sb = new StringBuffer();
//处理为16进制的字符串
for(byte bb:digest){
//15的8进制是0000,1111
sb.append(c[(bb>>4)&15]);
sb.append(c[bb&15]);
}
System.out.println("加密后密码:"+sb.toString().toLowerCase());
return sb.toString().toLowerCase();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;
}
验证
/**
* MD5验证方法
* @param text 明文
* @param md5 密文
* @return true/false
* @throws Exception
*/
public static boolean verify(String text, String md5) throws Exception {
//根据传入的密钥进行验证
String md5Text = md5(text);
if(md5Text.equalsIgnoreCase(md5)) {
System.out.println("MD5验证通过");
return true;
}
return false;
}