import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class testr {
public static void main(String[] args) {
testr.useMDFive();
}
/**
* 使用md5加密策略进行处理字符串
*/
private static void useMDFive() {
String password = "1230";
String password1 = "1230";
String password2 = "12300";
//加密工具对象
MessageDigest mDigest;
try {
// 生成一个MD5加密计算摘要
mDigest = MessageDigest.getInstance("MD5");
// 计算md5函数
mDigest.update(password.getBytes());
// digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符
// BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值
String passwordr = new BigInteger(1, mDigest.digest()).toString(16);
// 计算md5函数
mDigest.update(password1.getBytes());
// digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符
// BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值
String passwordr1 = new BigInteger(1, mDigest.digest())
.toString(16);
// 计算md5函数
mDigest.update(password2.getBytes());
// digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符
// BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值
String passwordr2 = new BigInteger(1, mDigest.digest())
.toString(16);
System.out.println(passwordr);
System.out.println(passwordr1);
System.out.println(passwordr2);
if (passwordr.equals(passwordr1)) {
System.out.println("yes");
} else {
System.out.println("no");
}
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
}