首页 > 解决方案 > 为什么一个用于 MD5 哈希计算的函数对于较小的文件更可取,而对于大文件却效率低下?

问题描述

我正在为文件生成哈希值,作为在小型数据库中禁止重复文件的一种手段。在我研究的过程中,我发现了以下线程:How to generate an MD5 checksum for a file in Android?

为什么第一个答案对于大文件“效率不高”并且最适合小字符串,而提供的答案dentex更适合大文件?是因为解决方案的编程方式,还是我不知道 MD5 散列有一个警告?

标签: javahashmd5computer-science

解决方案


MD5生成一个 128 位的摘要。
SHA-1生成一个 160 位的摘要。
SHA-2生成 224、256、384 或 512 位摘要。

更多位意味着更多不同的值,意味着两个不同输入生成相同摘要的可能性更小。


推荐阅读