package cn.com.pass;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SendMD5 {
public static void main(String[] args) {
printMD5("abcABC");
}
private static String printMD5(String password) {
//存放最终结果
String result = "";
try {
//选择加密方式
MessageDigest md = MessageDigest.getInstance("MD5");
//将密码分析成字节的形式
md.update(password.getBytes());
byte b[] = md.digest();
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
result = buf.toString();
//32,16位密码打印
System.out.println("MD5(" + password + ",32) = " + result);
System.out.println("MD5(" + password + ",16) = " + buf.toString().substring(8, 24));
} catch (NoSuchAlgorithmException e) {
System.out.println(e);
e.printStackTrace();
}
return result;
}
}
对应输出结果:
MD5(abcABC,32) = 0ace325545119ac99f35a58e04ac2df1
MD5(abcABC,16) = 45119ac99f35a58e