Who know how to use MD5?
解决方案 »
- spring 事物管理的问题
- 中秋节到了,解决问题领月饼吃了
- JSP乱码问题
- 求助hibernate3.2的各插件
- 我们项目的开源框架,欢迎使用指教.
- expansion character (code 0x1b) not a valid XML character
- 救命!我写了一个SessionBean实例,代码 布署已经完全正常,显示时有误,不知是何错
- SSH 在dao层查询报空指针 表中一个外键的值设置的是null 不知该怎么解决
- 一下这种结构是那种工具生成的呢?
- java文件操作,一个类似占位的功能,请教各位前辈应该如何实现。
- struts2中怎样隐藏错误信息的提示?
- SVN中有类似于VSS中的$NoKeywords: $作用的没?
建议遇到问题先去自己查查。
即你在网上下的文件一般都会提供MD5值,
你把文件下下来,然后用MD5软件查看它的MD5值,然后和上面提供的值,进行比较,如果相同的话,表示文件没有被改变,如果不同说明该文件肯定被加入的病毒什么的,要慎用了,简而言之,MD5可以说是文件的唯一标识,每一个文件的MD5值是不同的(相同的概率有0.99999999999,可以忽略)
可以认为md5都不重复,判断md5是否相等,可以确定是否是同一对象。
MD5是单项散列函数。任何数据都可以经过单项散列后得到一个定长的字符串。故可以根据单项散列后的函数判断是否是同一个对象。主要用来做单项加密算法。想要深入了解就找本加密解密的书看看。简单点可以到网上找一段MD5或者SHA算法的代码看看。
package com.wooophone.common.util;import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;public class Md5Util {
/**
* MD5 加密
*/
public static String getMD5Str(String str) {
MessageDigest messageDigest = null;
try {
messageDigest = MessageDigest.getInstance("MD5");
messageDigest.reset();
messageDigest.update(str.getBytes("UTF-8"));
} catch (NoSuchAlgorithmException e) {
System.out.println("NoSuchAlgorithmException caught!");
System.exit(-1);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
byte[] byteArray = messageDigest.digest();
StringBuffer md5StrBuff = new StringBuffer();
for (int i = 0; i < byteArray.length; i++) {
if (Integer.toHexString(0xFF & byteArray[i]).length() == 1)
md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i]));
else
md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));
}
return md5StrBuff.toString();
} }