gpt4 book ai didi

java - 根据文件包含计算md5哈希值(意味着没有文件名)

转载 作者:行者123 更新时间:2023-12-01 21:48:56 25 4
gpt4 key购买 nike

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

代码

 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"))

输出

10d34fcb95ca6714fb00dae12527be4e
651c8eaf62016182d2a39c5442a339a8

预期输出

10d34fcb95ca6714fb00dae12527be4e
10d34fcb95ca6714fb00dae12527be4e

最佳答案

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

关于java - 根据文件包含计算md5哈希值(意味着没有文件名),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58769215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com