8、MD5工具类

8、MD5工具类

MD5的全称是Message Digest Algorithm 5(信息摘要算法)
MD5摘要算法被广泛应用在密码信息安全,之后被证实无法防止碰撞,初学者通过了解MD5,可初步了解安全性认证在程序中的重要性

//确定算法方法
MessageDigest md5=MessageDigest.gettlnstance(“MD5”)
//JDK1.8新增了Base64
String newstr=Base64.getEncoder.encodeToString(md5.digest(str.getBytes(“utf-8”)));

import java.security.*;
import java.util.Arrays;
import java.util.Base64;
public class MD5 {

	public static void main(String[] args) {
		
		String password="admin12345";				//明文(原文)
		String savePasseord="dIjjMbi2TleU2j+k6xCtXQ==";//存储的密文
		
		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 / *BASE64编码算法
			//1.8
			String str=Base64.getEncoder().encodeToString(bytes);
			System.out.println(str);
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

import java.io.UnsupportedEncodingException;
import java.security.*;
import java.util.Arrays;
import java.util.Base64;
public class MD5 {

	private static String savePassword="dIjjMbi2TleU2j+k6xCtXQ==";
	
	public static void main(String[] args) {
	
		System.out.println( login("admin12345"));
	}
	private static boolean login(String password) {
		if(savePassword.equals(md5(password))) {
			return true;
		}else {
			return false;
		}	
	}
	
	private static String md5(String password) {
		try {
			MessageDigest md=MessageDigest.getInstance("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;
		
	}

true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值