MD5,MD2,SHA加密的实现方式

import java.security.MessageDigest;

import javax.xml.bind.annotation.adapters.HexBinaryAdapter;

public class Main {

	static String src = "Hello,sahadev!";

	public static void main(String[] args) {
		MD5();
		MD2();
		SHA();
	}

	/**
	 * MD5加密
	 */
	public static void MD5() {
		try {
			// 获取MD5加密工具
			MessageDigest md = MessageDigest.getInstance("MD5");
			// 加密
			byte[] digest = md.digest(src.getBytes());
			// 获取二进制十六进制互转工具
			HexBinaryAdapter hexBinaryAdapter = new HexBinaryAdapter();
			// 将二进制数组转换为十六进制字符串
			String marshal = hexBinaryAdapter.marshal(digest);
			// 输出结果
			System.out.println(marshal);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * MD2加密
	 */
	public static void MD2() {
		try {
			// 获取MD2加密工具
			MessageDigest md = MessageDigest.getInstance("MD2");
			// 加密
			byte[] digest = md.digest(src.getBytes());
			// 获取二进制十六进制互转工具
			HexBinaryAdapter hexBinaryAdapter = new HexBinaryAdapter();
			// 将二进制数组转换为十六进制字符串
			String marshal = hexBinaryAdapter.marshal(digest);
			// 输出结果
			System.out.println(marshal);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public static void SHA() {
		try {
			// 获取MD2加密工具
			MessageDigest md = MessageDigest.getInstance("SHA");
			// 加密
			byte[] digest = md.digest(src.getBytes());
			// 获取二进制十六进制互转工具
			HexBinaryAdapter hexBinaryAdapter = new HexBinaryAdapter();
			// 将二进制数组转换为十六进制字符串
			String marshal = hexBinaryAdapter.marshal(digest);
			// 输出结果
			System.out.println(marshal);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}
输出结果:
MD5 : 8FC69C57ACC2258C7B4A9D39DC4C940B
MD2 : 9EAF08289903A29C3C58D2AAA25BD83D
SHA : 1B1330BFC6257FC9F4B4ED5CB605FA4109608CCA



上一篇:消息摘要算法HmacMD5的实现


下一篇:以RSA的方式实现非对称加密