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
Java加密算法示例
本文提供了一个Java程序示例,展示了如何使用MD5、MD2和SHA加密算法对字符串进行加密,并将加密后的二进制数据转换为十六进制字符串形式。
1万+

被折叠的 条评论
为什么被折叠?



