Existe um utilitário de soma de verificação / hash embutido no Windows 7?
Existe um utilitário de soma de verificação / hash embutido no Windows 7?
Respostas:
Existe um utilitário interno, conforme especificado nesta outra resposta .
Você pode, no entanto, desejar usar este aplicativo gratuito chamado HashTab que se integra perfeitamente ao Windows Explorer registrando uma ... bem, uma guia na caixa de diálogo de propriedades dos arquivos. É muito fofo.
CertUtil é um utilitário pré-instalado do Windows que pode ser usado para gerar somas de verificação de hash:
certUtil -hashfile pathToFileToCheck [HashAlgorithm]
Opções de HashAlgorithm: MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512
Por exemplo, o seguinte gera uma soma de verificação MD5 para o arquivo
C:\TEMP\MyDataFile.img
:
CertUtil -hashfile C:\TEMP\MyDataFile.img MD5
Para obter resultados semelhantes aos sistemas * Nix, você pode adicionar um pouco de magia do PowerShell:
$(CertUtil -hashfile C:\TEMP\MyDataFile.img MD5)[1] -replace " ",""
certutil
está disponível no Windows PE ; portanto, se você estiver tentando calcular uma soma de verificação em um script de tarefa de pré-implantação no PE, precisará usar uma ferramenta externa como o Microsoft FCIV .
CertUtil -hashfile C:\TEMP\MyDataFile.img MD5
não produz o mesmo hash do que md5sum /tmp/MyDataFile.img
no Linux (I guarranty é o mesmo arquivo com um mount)
Estou usando o HashCheck ( versão mais recente ), que se integra como uma página de propriedades para arquivos e inclui um menu de contexto para comparar com arquivos de verificação de hash (SFV).
É gratuito e a fonte está disponível.
Existe o utilitário FCIV da Microsoft, o Microsoft File Checksum Integrity Verifier ( link para download ).
A ferramenta Microsoft File Checksum Integrity Verifier é um utilitário de linha de comando não suportado que calcula hashes criptográficos MD5 ou SHA1 para arquivos.
Ele não mostra o Windows 7 nos requisitos de sistema, mas eu apenas o usei no Windows 8 e funcionou.
O PowerShell versão 4 e posterior inclui o cmdlet Get-FileHash .
powershell get-filehash -algorithm md5 <file_to_check>
Use o doskey para criar um alias persistente que seja mais fácil de lembrar.
doskey sha1sum=powershell get-filehash -algorithm sha1 "$1"
doskey md5sum=powershell get-filehash -algorithm md5 "$1"
powershell Get-FileHash -Algorithm md5 <file_to_check> | Format-List
Get-FileHash "C:\foo.exe" -Algorithm MD5,SHA1,SHA256 | Format-List
nativamente para listar vários hashes seguidos? Não existe tal instrução armazenada no console? Tentei reformular várias vezes com a sintaxe correta, mas ele retorna um erro e parece não funcionar sem a incorporação de um script.
A nova versão do 7-Zip também oferece a opção de somas de verificação clicando com o botão direito do mouse (isso não inclui o MD5 ). Possui SHA-1 , SHA-256 , CRC-32, CRC-64, etc.
Para o MD5, você pode baixar o HashTab e verificar clicando com o botão direito do mouse e, em seguida, em propriedades.
Aqui está um que eu usei antes que se integra perfeitamente à caixa de diálogo "Propriedades" do Explorer: Summer Properties . É de código aberto e uma versão x64 também está disponível .
Também gosto do FileAlyzer da Safer Networking , que também oferece recursos adicionais. Mas apenas para somas de verificação, o Summer Properties é leve e faz o trabalho.
O HashMyFiles da Nirsoft é um pequeno utilitário que permite calcular os hashes MD5 e SHA1 de um ou mais arquivos em seu sistema. Você pode copiar facilmente a lista de hashes MD5 / SHA1 na área de transferência ou salvá-los no arquivo de texto / html / xml.
O HashMyFiles também pode ser iniciado no menu de contexto do Windows Explorer e exibir os hashes MD5 / SHA1 do arquivo ou pasta selecionado.
HashMyFiles é freeware e portátil.
…that integrates into Windows [Explorer]
Encontrei este script do 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
}
}
}
}
Origem: Calculando SHA1 no PowerShell
Ele aproveita o .NET que eu assumo que você instalou
Estou adicionando isso aqui apenas porque não vi nenhum exemplo de PowerShell totalmente funcional, pronto para copiar e colar:
C:\> powershell "Get-FileHash %systemroot%\system32\csrss.exe"
Algorithm Hash
--------- ----
SHA256 CB41E9D0E8107AA9337DBD1C56F22461131AD0952A2472B4477E2649D16E...
C:\> powershell -c "(Get-FileHash -a MD5 '%systemroot%\system32\csrss.exe').Hash"
B2D3F07F5E8A13AF988A8B3C0A800880
C:\> CertUtil -hashfile "%systemroot%\system32\csrss.exe" MD5 | findstr -v file
b2 d3 f0 7f 5e 8a 13 af 98 8a 8b 3c 0a 80 08 80
C:\>
Microsoft File Checksum Integrity Verifier . Ele pode calcularvalores de hash MD5 e SHA-1 .
Faça o download, extraia os arquivos, abra um prompt de comando, vá para o caminho extraído e digite o seguinte comando:
fciv -md5 filepath\filename.extension
Por exemplo:
fciv -md5 d:\programs\setup.exe
'fciv' is not recognized as an internal or external command, operable program or batch file.
Microsoft Windows [Versão 10.0.14393]
Infelizmente, não que eu saiba, mas o pacote Sysinternals da Microsoft inclui uma boa ferramenta chamada sigcheck .
Um arquivo em lotes baseado no comentário de pbarney, com a maioria dos votos positivos: copia o hash MD5 de qualquer arquivo arrastado para o arquivo em lotes para a área de transferência:
@ECHO OFF
FOR /f "tokens=*" %%i IN ('@certutil -hashfile %1 MD5 ^| find /v "hash of file" ^| find /v "CertUtil"') DO SET r=%%i
SET r=%r: =%
ECHO %r% | clip
Para torná-lo um item de menu de contexto:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\Get MD5]
@="Copy MD5 to Clipboard"
[HKEY_CLASSES_ROOT\*\shell\Get MD5\command]
@="\"C:\\<PATH TO BAT FILE>\\getMD5.bat\" \"%1\""
certutil -hashfile %1 md5
funciona tão bem
O menu de contexto MD5 faz exatamente isso. Ele adiciona uma opção MD5 ao menu de contexto dos arquivos:
O menu de contexto MD5 é uma extensão de shell freeware para Windows que exibe a soma de hash MD5 do arquivo selecionado.
Ele diz que é compatível com Windows 95, 98, ME, NT, 2000 e XP, embora funcione perfeitamente para mim no Windows 7. É um download minúsculo (238 KB) e inclui tudo o que você precisa.
Este é apenas um script de shell cmd que usa a resposta do tedr2, mas retira as linhas e espaços de saída estranhos:
:: hash.cmd : Get a hash of a file
:: p1: file to be hashed
:: p2: Hash algorithm in UPPERCASE
:: p3: Output file
@setlocal
@for /f "tokens=*" %%a in (
'@certutil -hashfile %1 %2 ^|find /v "hash of file" ^|find /v "CertUtil"'
) do @(
@set str=%%a
)
@set str=%str: =%
@echo %str%
@endlocal
A saída pode ser redirecionada para um arquivo, se necessário:
@echo %str% > %3
por exemplo
sys> \dev\cmd\hash.cmd MyApp.dll SHA1
8ae6ac1e90ccee52cee5c8bf5c2445d6a92c0d4f
Cygwin contém um md5sum.exe
utilitário que deve fazer o que você deseja.
O QuickHash suporta SHA-256 e SHA-512. Eu precisava do suporte ao SHA-256 para verificar a soma de verificação das bibliotecas JavaScript na lista de permissões para inclusão em um complemento do Firefox.
Eu uso o utilitário de linha de comando da soma de verificação .
md5
, sha1
, sha256
e sha512
.Uso:
soma de verificação [-t = sha1 | sha256 | sha512 | md5] [-c = assinatura] [-f =] caminho do arquivo
-?
, --help
, -h
-f
, --file=VALUE
-t
, --type
, --hashtype=VALUE
md5
. -c
, --check=VALUE
# Check md5 for "E:\Саша Неотразима\Sasha-Irresistible.exe" file
SashaChernykh@DESKTOP-0G54NVG E:\Саша Неотразима
$ checksum -f "E:\Саша Неотразима\Sasha-Irresistible.exe"
342B45537C9F472B93A4A0C5997A6F52
# Check sha256
SashaChernykh@DESKTOP-0G54NVG E:\Саша Неотразима
$ checksum -f "E:\Саша Неотразима\Sasha-Irresistible.exe" -t=sha256
F6286F50925C6CBF6CBDC7B9582BFF833D0808C04283DE98062404A359E2ECC4
# Correct 41474147414741474147 sha256 hash or not?
SashaChernykh@DESKTOP-0G54NVG E:\Саша Неотразима
$ checksum -f "E:\Саша Неотразима\Sasha-Irresistible.exe" -t=sha256 -c 41474147414741474147
Error - hashes do not match. Actual value was 'F6286F50925C6CBF6CBDC7B9582BFF833D0808C04283DE98062404A359E2ECC4'
# One more attempt
SashaChernykh@DESKTOP-0G54NVG E:\Саша Неотразима
$ checksum -f "E:\Саша Неотразима\Sasha-Irresistible.exe" -t=sha256 -c F6286F50925C6CBF6CBDC7B9582BFF833D0808C04283DE98062404A359E2ECC4
Hashes match..
O HashTab 3.0 é uma extensão gratuita do shell que calcula muitas somas de verificação, incluindo o MD5. Está integrado como uma nova guia nas propriedades do arquivo.
Você pode usar MD5sums para Windows , um download de apenas 28 KB (o Cygwin pode ser um exagero se tudo o que você deseja fazer é calcular os hashes MD5).
A maneira mais fácil de usá-lo é usar o Explorer para arrastar e soltar arquivos no md5sums.exe para obter seus hashes MD5.
É claro que a resposta correta é sim, CertUtil (consulte a resposta do tedr2 ).
Mas adicionarei o File Checksum Verifier gratuito do Penteract, que, eu acho, é um dos programas mais fáceis de usar. (Aviso: sou afiliado ao Penteract.)
Algumas de suas vantagens:
Para verificar a integridade deste programa (contra ataques intermediários ) - ele é baixado por uma conexão segura.
Além disso: gratuito, offline (para que você não precise enviar seus arquivos), fácil de usar (arraste um arquivo e obtenha o resultado), inicia no menu Iniciar (não é necessário procurar o executável baixado quando quiser daqui a um ano) e suporta MD5, SHA1, SHA256, etc.
Este não é um utilitário embutido, mas é uma opção muito boa
http://checksumcompare.sanktuaire.com
Você pode comparar a soma de verificação por arquivo e / ou resumos se duas pastas diferirem ou forem idênticas.
Você pode tentar o msys2, está aqui .
Basta digitar (algoritmo) soma. (algoritmo) é o algoritmo de hash que você deseja usar, por exemplo, md5, sha1, sha256 ...
Ao contrário do Cygwin, esta ferramenta é portátil, basta baixar o arquivo .zip e extraí-lo onde quiser. Você pode usá-lo com um simples clique (msys2.exe).
Hop esta ferramenta irá ajudá-lo.
Bem, eu criei um programa para calcular alguns hashes de um arquivo. Espero que ajude você.
O que isso faz? Ele calcula o hash SHA-1 , hash SHA-384, hash MD5 e hash SHA-256 . Bem, é isso :)
Para uma solução que funcione no Windows ou em qualquer outro ambiente, use Python.
instalar Python - um instalador do Windows é fornecido em https://www.python.org/downloads/
faça o download de uma cksum
implementação testada , por exemplo, http://pastebin.com/raw.php?i=cKATyGLb - salve o conteúdo disso para dizer c:\cksum.py
ou onde achar conveniente
Em seguida, para executar uma soma de verificação:
python c:\cksum.py INPUTFILE
Não é tão rápido quanto um utilitário compilado, mas compatível com o Unix cksum
e roda em qualquer lugar.