題 Windows 7上是否有內置校驗和實用程序?


Windows 7上是否有內置的校驗和/哈希實用程序?


584
2018-02-14 18:38


起源


不是我的領域,但Powershell,腳本語言的構建,可能會做到這一點。 - Phoshi
這是一個愚蠢的“我不允許安裝 任何 第三方軟件“要求?如果是這樣,請嘗試使用Google搜索”PowerShell SHA1哈希“,您應該使用MS的加密API獲取一些將在內置PowerShell上運行的腳本/ cmdlet。 - afrazier
有GetFile-Hash。您需要PS 4.0或社區擴展 stackoverflow.com/questions/10521061/... - rofrol
Avast反病毒阻止了我上傳網站的下載,因此值得謹慎接近。 - Jules
請注意,最好的答案(對我而言)是第二個答案,其得票數多於提問者選擇的答案。對於讀者:請看下面的“certutil.exe”選項。 - macetw


答案:


有一個內置實用程序,如中所述 這個答案

但是,您可能希望使用此免費軟件應用程序 HashTab 通過在文件的屬性對話框中註冊一個...選項卡,它與Windows資源管理器整齊地集成在一起。這很甜蜜。

HashTab screenshot


170
2018-02-14 18:42



我更喜歡 哈希檢查 通過HashTab,主要是因為它可以處理多個混合文件/文件夾選擇,它可以創建/驗證SFV / MD5 / SHA1文件。 我的寫作 在Ars論壇上詳細介紹。 - afrazier
請注意,HashTab僅供私人使用! HashCheck是開源的,完全免費的(BSD許可證) - keiki
是的,有一個cmd:CertUtil -hashfile _main.exe MD5 - Scott混合理论
“有一個內置的實用程序可以完全滿足您的需要。但是,您可以使用其他工具來完成您沒有要求的工作。”為什麼這是公認的答案? - abaumg
>“謝謝。不幸的是,內置對我來說是一個必不可少的要求。”那你為什麼選擇一個非內置的軟件,問題沒有要求,作為答案? - KalEl


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系統的輸出,您可以添加一些PowerShell魔法:

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

1017
2018-04-06 15:21



內置指定的問題,除了PowerShell腳本之外,這是Windows 7中內置的唯一一個。在某些環境中,您不能只安裝軟件。我的單一upvote似乎不足以滿足這個答案。 - jbo5112
MD5.bat:@certutil -hashfile%1 MD5 | find / v“文件的哈希值”| find / v“CertUtil” - pbarney
請注意 certutil 是 在Windows PE中不可用,因此,如果您嘗試在PE中的預部署任務腳本中計算校驗和,則必須使用外部工具,如 微軟FCIV。 - Wayfarer
這太不可思議了,但是 CertUtil -hashfile C:\TEMP\MyDataFile.img MD5 不會產生相同的哈希值 md5sum /tmp/MyDataFile.img 在Linux下(我保證它是與mount相同的文件) - lalebarde
@lalebarde MD5只有一個標準。如果您在同一個文件上獲得不同的結果,那是因為某些內容正在對該文件進行一些更改並導致哈希值不同。這是MD5和其他散列標準最重要的功能之一。 - Paul


我正在使用 哈希檢查 (最新版本)它將自身集成為文件的屬性頁面,並包括一個上下文菜單,用於與散列檢查文件(SFV)進行比較。

它是免費的,源可用。

Screenshot


162
2017-12-30 05:15



熱鬧的應用程序。絕對是最好的。它可以通過雙擊創建的文件來檢查哈希.MD5!它記得哪些文件是哈希的。 - Pavel Radzivilovsky
AVG正在標誌著核心Windows實用程序已被更改 - 這就是惡意軟件經常做的事情。 - dunxd
免費,開源,與屬性頁面和資源管理器上下文菜單集成,具有.MD5檢查器並支持SHA-1。更不用說它只有85kb並運行 真 快速。這個應用程序是 太荒謬了, 謝謝! - Şafak Gür
你可以通過chocolatey安裝它! - Michael Caron
@Sossenbinder你一定是在找錯了地方。自14年12月以來,SHA-256得到了支持。該工具至少要更新到2016年9月,所以雖然它最近可能不活躍,但也許沒有太多可以添加到它。 github.com/gurnec/HashCheck/releases - B Layer


有來自微軟的FCIV實用程序 Microsoft File Checksum Integrity Verifier  (下載鏈接)。

Microsoft File Checksum Integrity Verifier工具是一個不受支持的命令行實用程序,它可以為文件計算MD5或SHA1加密哈希值。

它沒有在系統要求中顯示Windows 7,但我剛剛在Windows 8中使用它並且它有效。


80
2017-09-05 11:51



為什麼我們鏈接到不受支持的命令行實用程序。這甚至沒有集成到我確信作者想要的shell中。 - Ramhound
該實用程序對我有用。我從msdn下載了一個iso映像,需要cheksum。我不想要任何第三方工具。我不需要shell集成,作者沒有要求它。它來自一個受信任的來源微軟,雖然不受支持它仍然有效。我在這裡發布了一個鏈接,因為像我這樣的其他人可能覺得它很有用 - creator
我和@creator在一起。它可能不是受支持的軟件,但至少微軟是作者。校驗和程序對於維護安全性可能非常重要;我寧願不從一些隨機的第三方那裡得到我的。 - ellisbben
雖然它適用於適度使用,但它不穩定。我在xdelta腳本中使用它來確定相同大小的文件是否不同,我很遺憾地說每隔幾百個文件就會發生1次崩潰。這是不可靠的,所以建議:使用別的東西。 - JasonXA
PsFCIV 是PowerShell重寫,支持原始的XML數據庫功能以及SHA-256,SHA-384和SHA-512哈希。 - User5910


PowerShell版本4及更高版本包括 GET-FileHash 小命令。

powershell get-filehash -algorithm md5 <file_to_check>

使用 DOSKEY 製作一個更容易記住的持久性別名。

doskey sha1sum=powershell get-filehash -algorithm sha1 "$1"
doskey md5sum=powershell get-filehash -algorithm md5 "$1"

61
2018-05-22 20:58



如果散列結果字符串太長,則添加Format-List以顯示完整輸出 powershell Get-FileHash -Algorithm md5 <file_to_check> | Format-List - celeron533
最後是PowerShell! - Franklin Yu
精彩的問答。謝謝你們所有這一切。我推薦另一個軟件,但這是非常完整的。不能感謝你的貢獻者足夠的這個線程。對不起......請問為什麼Win 8.1和10上的PowerShell無法識別 Get-FileHash "C:\foo.exe" -Algorithm MD5,SHA1,SHA256 | Format-List 本地列出連續幾個哈希?控制台中沒有存儲此類指令?我嘗試使用正確的語法重新配置幾次,但它返回一個錯誤,如果沒有嵌入腳本它似乎不起作用。 - K0media


新版本 的7-Zip 通過右鍵單擊也可以選擇校驗和(這不包括 MD5)。它有 SHA-1SHA-256,CRC-32,CRC-64等

Enter image description here


對於MD5,您可以下載 HashTab 並通過右鍵單擊然後檢查屬性進行檢查。

Enter image description here


30
2018-01-11 21:31



您在談論哪個版本的7-zip? - klaar
不幸的是,7-zip校驗和工具不允許您複製校驗和! - Derek Mahar
我認為選擇哈希文本和Ctrl + C工作正常。 - abe312
在我的設置中,如果你轉到文件的屬性,你可以通過右鍵單擊 - >複製文件哈希選項卡下的副本來複製哈希。 - abe312


這是我之前使用的一個與Explorer的“屬性”對話框很好地集成的: 夏季物業。它的 開源, 和 x64版本也可用

SummerProperties screen shot

我也喜歡更安全的網絡 FileAlyzer,它還提供其他功能。但僅僅對於校驗和,Summer Properties是輕量級的並且可以完成工作。


22
2017-12-30 00:55



唯一的問題是它不支持文件夾或文件組。它也不屬於dvlp - Pavel Radzivilovsky
它的另一個問題是你不能將哈希粘貼到它中並查看它是否匹配 - Jonathan


Nirsoft的 HashMyFiles 是一個小實用程序,允許您計算系統中一個或多個文件的MD5和SHA1哈希值。您可以輕鬆地將MD5 / SHA1哈希列表複製到剪貼板中,或將它們保存到text / html / xml文件中。

HashMyFiles也可以從中啟動   Windows資源管理器的上下文菜單,   並顯示MD5 / SHA1的哈希值   選定的文件或文件夾。

alt text

HashMyFiles是免費軟件和便攜式的。


13
2017-12-30 01:02



+1,似乎是一個新的 - 我最後一次檢查(在移動到命令行之前) 的md5sum 版本)是FastSum - 但它,它是一種試用軟件和嘮叨很多。 HashMyFiles 很好,因為它允許拖放多個文件並導出到CSV(兩個重要功能)。當我幾年前發現FastSum時,不要以為我曾經看過它。 - nik
這是正確的,HashMyFiles是NirSoft投資組合的最新成員,它於2007年首次發布。
…that integrates into Windows [Explorer] - Synetech


我找到了這個PowerShell腳本:

param([switch]$csv, [switch]$recurse)

[Reflection.Assembly]::LoadWithPartialName("System.Security") | out-null
$sha1 = new-Object System.Security.Cryptography.SHA1Managed
$pathLength = (get-location).Path.Length + 1

$args | %{
    if ($recurse) {
        $files = get-childitem -recurse -include $_
    }
    else {
        $files = get-childitem -include $_
    }

    if ($files.Count -gt 0) {
        $files | %{
            $filename = $_.FullName
            $filenameDisplay = $filename.Substring($pathLength)

            if ($csv) {
                write-host -NoNewLine ($filenameDisplay + ",")
            } else {
                write-host $filenameDisplay
            }

            $file = [System.IO.File]::Open($filename, "open", "read")
            $sha1.ComputeHash($file) | %{
                write-host -NoNewLine $_.ToString("x2")
            }
            $file.Dispose()

            write-host
            if ($csv -eq $false) {
                write-host
            }
        }
    }
}

資源: 在PowerShell中計算SHA1

它利用.NET,我假設你已經安裝


13
2018-02-14 19:45



Win 7附帶.NET 3.5和PowerShell v2,而PowerShell一直依賴於.NET,所以如果你有PS,那麼你就擁有了.NET。 :-) - afrazier