下面是一个可生成字符串或文件MD5校验码的例子,测试过,可当做工具类直接使用,其中最主要的是getMD5String(String s)和getFileMD5String(File file)两个方法,分别用于生成字符串的md5校验值和生成文件的md5校验值
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException
public class MD5Util {
/**
* 默认的密码字符串组合,用来将字节转换成 16 进制表示的字符,apache校验下载的文件的正确性用的就是默认的这个组合
*/
protected static char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9','a', 'b', 'c', 'd', 'e', 'f' };
protected static MessageDigest messagedigest = null;
static{
}
public static void main(String[] args) throws IOException {
}
//生成文件的md5码
public static String getFileMD5String(File file) throws IOException {
}
//生成字符串的md5码
public static String getMD5String(String s) {
}
public static String getMD5String(byte[] bytes) {
}
private static String bufferToHex(byte bytes[]) {
}
private static String bufferToHex(byte bytes[], int m, int n) {
}
private static void appendHexPair(byte bt, StringBuffer stringbuffer) {
}
public static boolean checkPassword(String password, String md5PwdStr) {
}
}