package com.vince;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
import java.util.Base64;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
/**
* MD5的全称是Message-Digest Algorithm 5(信息摘要算法)
* 方法
*MessageDigest md5=MessageDigest.getInstance("MD5");
*
*
*/
public class MD5 {
private static String savePassword="pmq7VoTEWWLYh1ZPCDRujQ==";
public static void main(String[] args) {
String password="admin123456";
//test();
System.out.println(login("12345678"));
System.out.println(login("admin123456"));
}
private static boolean login(String password){
if(savePassword.equals(md5(password))){
return true;
}else{
return false;
}
}
//计算md5的工具方法
private static String md5(String password){
try {
MessageDigest md=MessageDigest.getInstance("md5");
//通过MD5计算摘要
byte[] bytes =md.digest(password.getBytes("utf-8"));
String str=Base64.getEncoder().encodeToString(bytes);
return str;
}catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
// private static void test() {
// String password="admin123456";
// try {
// MessageDigest md=MessageDigest.getInstance("md5");
// //通过MD5计算摘要
// byte[] bytes =md.digest(password.getBytes("utf-8"));
// System.out.println(Arrays.toString(bytes));
// String mdStr=new String(bytes);
// //System.out.println(mdStr);
// //第二步编码 a-z A-Z 0-9 / * base64的算法
// String str=Base64.getEncoder().encodeToString(bytes);
// System.out.println(str); //生成 pmq7VoTEWWLYh1ZPCDRujQ==
// //JDK1.8之前使用
// BASE64Encoder base64=new BASE64Encoder();
// String mstr=base64.encode(bytes);
// //base64解码
// BASE64Decoder decoder=new BASE64Decoder();
// byte[] bs=decoder.decodeBuffer(str);
// System.out.println(str);
// System.out.println(mstr);
// } catch (NoSuchAlgorithmException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } catch (UnsupportedEncodingException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// }
}
Java 之 MD5
最新推荐文章于 2024-07-19 22:29:19 发布