1.什么是MD5
MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫 readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现(两个MD5值不相同)。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。
2.Java中实现MD5
/**
* MD5加密方式(1)
* @param message
* @return
* @throws NoSuchAlgorithmException
* @throws UnsupportedEncodingException
*/
public static String md5Encode(String message) throws NoSuchAlgorithmException, UnsupportedEncodingException {
//得到一个信息的摘要器
MessageDigest digest = MessageDigest.getInstance("MD5");
byte [] result = digest.digest(message.getBytes("UTF-8"));
StringBuffer buffer = new StringBuffer();
//把每一个byte 做一个与运算 0xff
for(byte b: