为我的计算机上的文件计算校验和的最佳方法是什么?


81

我在Windows计算机上,我想在刚得到的MySQL发行版上运行校验和。看起来好像有要下载的产品,不支持的Microsoft工具以及其他选项。我想知道是否有使用最佳工具的共识。这可能是一个非常简单的问题,我之前从未运行过校验和例程。


1
在SuperUser上也进行了讨论:superuser.com/questions/245775/…–

Answers:


16

任何MD5都会产生良好的校验和以验证文件。此页面底部列出的任何文件都可以正常工作。 http://en.wikipedia.org/wiki/Md5sum


6
这个答案不再是很好的建议。如今,MD5非常不安全。使用MD5验证下载的文件并不安全。
antiduh

22
@antiduh当您从下载哈希的位置获得哈希时,您的论据无足轻重。您受网站提供的哈希限制。
JJ

7
请注意,用户只想验证下载的文件没有损坏。如果您查看https://en.wikipedia.org/wiki/MD5#Security,您将在开头段落中看到以下关键句子:“尽管最初将MD5设计为用作加密哈希函数,但它具有被发现存在广泛的漏洞。它仍然可以用作校验和,以验证数据的完整性,但只能防止意外损坏。”
Kosta Tenedios '16

2
@JJ很多官方网站都允许您从其他域下载实际的二进制文件,因此该参数是有效的。您可以通过官方站点从恶意镜像下载经过修改的VLC,并通过校验和检测到。
嘿,

2
@antiduh我问的不是因为我懒得搜索,而是因为RTFM永远不是Stackoverflow上的合适“答案”(这就是您的答案所暗示的)。
java-addict301

234

CERTUTIL是预装Windows实用程序,可用于生成散列校验:

CertUtil -hashfile pathToFileToCheck [HashAlgorithm]

HashAlgorithm 选择:MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512

因此,例如,以下代码为文件生成MD5校验和C:\TEMP\MyDataFile.img

CertUtil -hashfile C:\TEMP\MyDataFile.img MD5

要获得类似于* Nix系统的输出,可以添加一些PS Magic:

$(CertUtil -hashfile C:\TEMP\MyDataFile.img MD5)[1] -replace " ",""

1
鉴于已预先安装了FCIV,因此比FCIV容易得多。
CJBS

1
注意:Win XP并未预装此软件,但鉴于该操作系统已过时,这不应该成为问题。
CJBS

2
@Laisvis-根据您的解释,我从0到大约2分钟就完成了。我来到此页面寻找如何做。您的答案是简单而完美的。
Iceberg

2
+1用于推荐预装版本。有什么更好的方法来确保安全的软件可以检查安全性并节省搜寻,下载,安装和验证的其他步骤。
Zack Jannsen

1
有人可以告诉我如何使用certUtil生成的哈希检查文件校验和吗?命令行。只是使用相同的命令行在文件上生成哈希(在目标计算机上接收到文件之后)吗?
rvpals

25

我个人使用Cygwin,这使整个Linux实用程序触手可及---并且有OpenSSLmd5sum支持的所有加密摘要。或者,您也可以使用Windows发行版的OpenSSL(“轻型”版本仅为1 MB安装程序)。


3
对于仅检查校验和,Cygwin似乎有点沉重。特别是因为有5KB可执行文件可用于检查MD5
Nick Berardi

3
它可能很沉重,但却是一个有效的答案,尤其是在考虑使用Unixy程序(MySQL)的情况下。
亚当·霍斯

3
对于我们认为Cygwin是必不可少的工具的人,这是一个完美的答案。
Zenexer

7
值得注意的是md5sum还随附git bash(mingw)
老Badman Gray 2015年


6

校验和标签:http : //code.kliu.org/hashcheck/

一段时间以来,这对我来说在Windows上效果很好。它允许轻松复制和粘贴校验和。它具有在网页上键入/粘贴校验和的框,并且可以很好地显示匹配项或不匹配项。


2
这个方便的小工具在这里被低估了。首先,我与作者没有关系---我只是认为这是一个很好的工具!它使您可以从Windows资源管理器的上下文菜单中为单个文件或一组文件生成您选择的哈希文件。您以后可以双击该哈希文件以自动运行这些文件的哈希验证。我经常使用它为要复制的大型文件生成哈希,然后将其与哈希文件一起复制,然后在目标位置双击以确认它们完好无损。
Michael Sorens 2015年

1
出色的解决方案,但链接已过时。现在最安全的获取此软件的地方是github.com/gurnec/HashCheck
asachet

5

在MySQL.com上,您可以下载每个文件旁边列出MD5。例如,MySQL“ Windows Essentials” 5.1是528c89c37b3a6f0bd34480000a56c372

您可以下载md5(md5.exe),这是一个命令行工具,可以计算本地任何文件的MD5。MD5与其他任何东西一样加密哈希函数一样,这意味着给定的字节数组将始终产生相同的哈希。这意味着,如果您下载的MySQL zip文件(或其他文件)具有与他们在其网站上发布的相同的MD5,则您拥有完全相同的文件。



3

7-Zip可用于为文件,文件的文件夹和文件的文件夹树生成哈希。7-Zip占用空间小,是一种非常有用的压缩实用程序。 http://7-zip.org/


虽然7-zip确实为上面列出的所有项目都提供了哈希值,但它缺少一种直接复制粘贴结果的方法。由于CertUtil是CMD程序,它确实提供了复制粘贴功能。
Jonathin '18

也可以通过CMD使用7z.exe,例如7z.exe h -scrcSHA256 -- /path/to/your/file.txt生成sha256哈希。
Elpy



2

在Windows 7中计算当前目录中所有文件的md5

for %i in (*) DO CertUtil -hashfile %i MD5



0

请注意,仅当install.exe正确时,上述解决方案才会告诉您安装是否正确(您可以信任它可以产生正确的安装。)

您需要每个文件/文件夹的MD5总和,以测试安装完成后是否将安装的代码弄乱了。

WinMerg可用于比较两次安装(也许在两台不同的计算机上),以查看是否已更改或为何中断。


0

确保certutil是最好的方法,但是有机会不使用certutil命令访问Windows xp / 2003计算机。可以使用具有自己的哈希算法的makecab命令-这里的fileinf.bat将输出有关文件的一些信息,包括校验和。


0

散列是执行MD5,SHA-1和SHA-2系列的独立应用程序。建立在OpenSSL之上。




0

在HPUX(hp UNIX)中

例如,如果有一个名为a.txt的文件,请在您的UNIX计算机上安装md5sum软件包。

shell > md5sum a.txt

-4

只需使用win32 Checksum API。MD5是Win32本机。


2
是否有一个Win32 API的示例,该示例足够小,可以用于SO答案,并且适合要求者?
Sqeaky 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.