处理生成MD5哈希字符串的旧java项目让我想知道当前的状态。
有没有一种使用当前技术创建此类哈希的好方法?也许是Java 8/9的一些新库?
之前我生成MD5哈希的方式是:
import java.security.*;
import java.math.*;
public class MD5 {
public static void main(String args[]) throws Exception{
String s="This is a test";
MessageDigest m=MessageDigest.getInstance("MD5");
m.update(s.getBytes(),0,s.length());
System.out.println("MD5: "+new BigInteger(1,m.digest()).toString(16));
}
}
感谢。
答案 0 :(得分:1)
我最近构建了我的恶意软件分析项目,我在其中为目录和子目录中的所有文件生成MD5哈希。
以下是代码的相关部分:
for (File file : fList) {
if (file.isFile()) {
try {
fin = new FileInputStream(file);
String digest = DigestUtils.md5Hex(fin); //used to get MD5
String path = file.getAbsolutePath(); //return full path
hash.put(path, digest); //put path and MD5 in map
fin.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
} else if (file.isDirectory()) {
listFiles(file.getAbsolutePath()); // recursivily call
}
}
希望这会对你有所帮助。