这个问题已经在这里有了答案:
Windows 7中是否有用于计算SHA-1或MD5哈希的内置方法?
powershell get-filehash -algorithm sha1 <file_to_check>
这个问题已经在这里有了答案:
Windows 7中是否有用于计算SHA-1或MD5哈希的内置方法?
powershell get-filehash -algorithm sha1 <file_to_check>
Answers:
没有内置实用程序,但是Microsoft提供了一个命令行实用程序作为免费下载:
Get-FileHash
命令。(关于时间,不是吗?)虽然,公平地说,PowerShell 4现在仅安装在最新的Windows操作系统中,但是在较旧的OS上进行升级是非常合理的。(PS4还有很多其他不错的东西。)
fciv
包含Unicode字符的文件名失败。
没有内置工具。
我使用HashCheck shell扩展:
它不是完全内置的,但至少您不必下载任何新软件即可使其运行。您可以创建一个powershell脚本来计算文件的MD5sum。实际的脚本可以在这里找到:
http://www.ahmadsoft.org/powershelljunkie/index.html
将该文本复制到一个名为“ ps-md5sum.ps1”的文件中,并将其保存在某处。当需要计算文件的哈希值时,请在要检查的文件目录中打开PowerShell,然后运行它:
[PS] C:\> ps-md5sum.ps1 file-of-choice.exe
并且它应该返回该文件的哈希值。
Arpoon Checksum也很好,因为它不需要安装
除了已经发布的所有重要选项之外,还有md5deep / hashdeep,它是Windows的开源哈希计算套件(但也可以在* nix和OS X系统中使用),它支持:
md5deep / hashdeep的一些优点:
要在Windows中使用它,可以将其安装在Cygwin中,也可以仅在%PATH%
变量中包含md5deep目录。虽然我个人更喜欢以下设置:
将所有文件提取到某处,例如
%ProgramFiles%\md5deep
在Windows目录中创建一组批处理文件,例如
%WinDir%\md5.bat
%WinDir%\hash.bat
%WinDir%\sha1.bat
%WinDir%\sha256.bat
%WinDir%\tiger.bat
%WinDir%\whirlpool.bat
包括相应二进制文件的路径,例如
在md5.bat中:
@ECHO OFF
"%ProgramW6432%\md5deep\md5deep64.exe" %*
(64位系统)
"%ProgramFiles%\md5deep\md5deep.exe" %*
(32位系统)在hash.bat中:
@ECHO OFF
"%ProgramW6432%\md5deep\hashdeep64.exe" %*
(64位系统)
"%ProgramFiles%\md5deep\hashdeep.exe" %*
(32位系统)
...
或者,如果要在WoW64的32位和64位二进制文件之间自动切换,可以将32位二进制文件%ProgramFiles(x86)%
和64 位二进制文件放入%ProgramW6432%
,然后按如下所示编写批处理文件:
@ECHO OFF
SET cmd=hashdeep
IF "%ProgramFiles%" EQU "%ProgramW6432%" SET cmd=%cmd%64
"%ProgramFiles%\md5deep\%cmd%.exe" %*