You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:53:30