MD5信息摘要

public class Cropto {
	//主函数
	public static void main(String args[]) throws NoSuchAlgorithmException{
		useMD5();
	}
	//使用MD5得到信息摘要,抛出一个没有这种算法运算的规则异常
	public static void useMD5() throws NoSuchAlgorithmException{
		//需要计算摘要的原文
		String msg="aaaaabbbbbcccccc";
		byte []date =msg.getBytes();
		//取得MD5摘要对象
		java.security.MessageDigest md5A=MessageDigest.getInstance("MD5");
		md5A.update(date);//用MD5处理原文
		//得到信息摘要
		byte []secdate=md5A.digest();
		System.out.println("A方摘要"+new String(secdate));
		
		//A------>B(原文+摘要)
		//B利用原文生成摘要,与A发送过来的摘要进行对比
		
		java.security.MessageDigest md5B=MessageDigest.getInstance("MD5");
		md5B.update(date);
		byte []destdate=md5B.digest();
		System.out.println("B方摘要"+new String(destdate));
		//比较两个数组
		if(java.util.Arrays.equals(secdate, destdate)){
			System.out.println("摘要相同");
		}else{
			System.out.println("摘要不相同");
		}
	}
}

你可能感兴趣的:(java,算法,Security)