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