Java 之 MD5

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();
//		}
//	}

}

猜你喜欢

转载自blog.csdn.net/weixin_44117272/article/details/89526257