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