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