Java 8生成SSDeep与VirusTotal结果不一致问题求助
如何用Java 8生成与VirusTotal一致的SSDeep哈希?
我最近遇到个头疼的问题:想通过Java 8生成和VirusTotal完全一致的文件SSDeep哈希,但试了两个依赖库都没成功,结果和VirusTotal给出的哈希完全对不上。
我用的依赖是:
<dependency> <groupId>info.debatty</groupId> <artifactId>java-spamsum</artifactId> <version>0.2</version> </dependency> <dependency> <groupId>uk.bl.wa.bitwiser</groupId> <artifactId>bitwiser</artifactId> <version>0.0.2</version> </dependency>
同一文件的哈希结果对比:
- VirusTotal:
SSDEEP 3072:m1b1pWIwmYWTnZq0JzO0ix8vYABJ8Yqplrkvo2IRbIMbkaEcp2kr67xP9:UxV/TnVJnix8waKYkGo2aOcp2kr6Nl- Bitwiser:
SSDeep":"6144:kI9pgt+0CpujqDTW44Ni2ENbIX/b3Lc/g:atzCpgqERENUXj3v- Spamsum:
SSDeep":"6144:d40lK040lKQneE0sNhJAyUwLQWwZ211gMOzSChs1uCt+FXS:dJK0JKQebsNh/UXWz+XzS8s1uCn
我对SSDeep的标准定义不太清楚,恳请帮忙分析差异原因并提供解决方案。以下是我使用的代码:
public static String getHashSSDeepWithBitwiser(File fileToHash) throws IOException { SSDeep ssd = new SSDeep(); FuzzyHash h = ssd.fuzzy_hash_file(fileToHash); return h.getBlocksize() + ":" + h.getHash() + ":" + h.getHash2(); } public static String getHashSSDeepWithSpamSum(File fileToHash) { String content = FileUtils.readFileToString(fileToHash, StandardCharsets.UTF_8); SpamSum s = new SpamSum(); s.HashString(content); return s.toString(); }
内容的提问来源于stack exchange,提问作者Viet47
相关产品推荐
相关产品推荐

