java-md5加密口令
1、新建一个java项目,项目的名称为javamd5。
2、打开这个javamd5.java这个文件,在main方法中增加代码,定义MessageDigest 的变量,初始化为MD5加密方式。
MessageDigest md=MessageDigest.getInstance("md5");
3、把“123456”原密码加密成MD5的字节数组。
byte[] mimamd5=md.digest("123456".getBytes());
4、 MD5的编码不能显示成字符,这是“123456”的MD5的编码[-31, 10, -36, 57, 73, -70, 89, -85, -66, 86, -32, 87, -14, 15, -120, 62],把字节数组已base64的编码存储。
String mima=Base64.encode(mimamd5);
5、把原密码的MD5的编码和base64的编码输出。
byte[] mimamd5=md.digest("123456".getBytes());
System.err.println(Arrays.toString(mimamd5));
String mima=Base64.encode(mimamd5);
System.err.println(mima);
MD5
[-31, 10, -36, 57, 73, -70, 89, -85, -66, 86, -32, 87, -14, 15, -120, 62]
base64
4QrcOUm6Wau+VuBX8g+IPg==
6、验证口令:如果输入的密码加密成MD5编码,和以前的MD5的编码比较,相等话正确,否者的话错误!
String input="123456789";
if(Base64.encode(md.digest(input.getBytes())).equals(mima)){
System.err.println("密码正确!"+Base64.encode(md.digest(input.getBytes())));
}else{
System.err.println("密码错误!"+Base64.encode(md.digest(input.getBytes())));
}
7、把输入的密码input="123456",运行结果是正确;input="123456789"运行结果是错误的。