对于文件存储库,我需要选择一个合理确保文件完整性的散列算法。
我需要一种算法,任何人(通过一些努力)都能够轻松地使用它来验证给定哈希的完整性。简而言之,文件可以与散列一起传送给用户,并且他们必须能够验证散列来自文件。
我的第一个选择是MD5,因为似乎有广泛可用的实用程序来验证MD5哈希,但我担心MD5算法被加密破坏(参考Wikipedia / US-CERT:http://en.wikipedia.org/wiki/MD5)
我的第二个选择是SHA-2算法,但我担心可以轻松验证哈希的实用程序的可用性。我发现的大多数示例都显示了用于评估哈希的程序代码,但我发现很少(如果有的话)预构建的实用程序(要求用户构建自己的实用程序超出了'容易'范围)
还有哪些其他选项可用于生成和评估文件哈希,或者这两个选项最好?
答案 0 :(得分:2)
提供/ multiple,并让用户决定他们验证哪个。或者,如果他们非常谨慎,他们可以对两者/所有人进行核实。
已经看到下载站点使用这种方法。一个网站建议最安全,但提供其他像md5作为后备。它还提供了工具链接。不记得具体的网站我害怕。
答案 1 :(得分:0)
由于您已经能够找到一些文件检查程序,为什么不将它们作为推荐链接到它们?这样,您的用户至少可以使用一种工具。他们不需要几十个不同的文件检查工具,他们只需要一个适合您选择使用的算法。
您可以链接到的工具: Windows:http://securityxploded.com/download-hash-verifier.php Mac OS X:http://www.macupdate.com/app/mac/31781/checksum
答案 2 :(得分:0)
sha256sum
,linux上coreutils
包的一部分程序将为列出的文件生成校验和。校验和输出的格式与md5sum
程序的格式相同(但当然使用SHA-256哈希而不是MD5),这种格式已被广泛使用多年。您没有列出任何目标平台,但快速谷歌搜索显示命令行程序的Windows端口。
如果需要生成大量校验和,可以使用md5deep,其中包括对其他哈希的支持,包括SHA-256。 http://md5deep.sourceforge.net/
我没试过这个,但从截图中看,它看起来非常整洁地集成到OSX和Windows资源管理器中:http://implbits.com/HashTab.aspx