首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据文件包含计算md5哈希值(表示没有文件名)

根据文件包含计算md5哈希值(表示没有文件名)
EN

Stack Overflow用户
提问于 2019-11-08 23:13:39
回答 1查看 125关注 0票数 0

我试图根据文件内容而不是文件名来计算MD5散列。在我下面的代码中,当计算两个文件名不同但内容相同的文件的MD5散列值时,会生成两个不同的MD5散列值。我期望的是相同的哈希值。

代码

代码语言:javascript
复制
 def computeMD5Hash(path: String): String = {
          val buffer = new Array[Byte](8192)
          val md5 = MessageDigest.getInstance("MD5")

          val dis = new DigestInputStream(new FileInputStream(new File(path)), md5)
          try {
            while (dis.read(buffer) != -1) {}
          } finally {
            dis.close()
          }

          md5.digest.map("%02x".format(_)).mkString
        }

println(computeMD5Hash("/Users/xxxx/Documents/Project/yyy/de/src/main/resources/input/xxxxx_list_01.txt"))
   println(computeMD5Hash("/Users/xxxx/Documents/Project/yyy/de/src/main/resources/input/xxxxx_list_03.txt")) 

输出

代码语言:javascript
复制
10d34fcb95ca6714fb00dae12527be4e
651c8eaf62016182d2a39c5442a339a8

预期输出

代码语言:javascript
复制
10d34fcb95ca6714fb00dae12527be4e
10d34fcb95ca6714fb00dae12527be4e
EN

回答 1

Stack Overflow用户

发布于 2019-11-09 04:51:45

我试过你的代码,它对我很有效。您确定这些文件是相等的吗?如果你显式地将一个文件复制-粘贴到另一个位置并运行你的程序,它会起作用吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58769215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档