Я пытаюсь вычислить хеш 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