Existe um método interno para calcular um hash SHA-1 ou MD5 no Windows 7? [duplicado]


38

Existe um método interno para calcular um hash SHA-1 ou MD5 no Windows 7?



Eu apoio incorporando sha1 para o título da outra pergunta e fechando este
Brian Webster

Esta pergunta não é uma duplicata do superuser.com/questions/89191/… . Essa pergunta está pedindo apenas a integração do shell, sem linha de comando.
wisbucky

Esta solução não é exatamente o built-in para o Windows 7, mas se você já tem Git Bash (msys / mingw) instalado, ele inclui linha de comando md5sum
wisbucky

3
powershell get-filehash -algorithm sha1 <file_to_check>
Christian Long

Respostas:


32

Não há utilitário interno, no entanto, a Microsoft fornece um utilitário de linha de comando como um download gratuito:

Disponibilidade e descrição do utilitário File Checksum Integrity Verifier


6
Isso não é mais verdade. O PowerShell 4 adiciona o Get-FileHashcomando . (Sobre o tempo, não é?) Embora, para ser justo, o PowerShell 4 esteja instalado apenas nos mais recentes sistemas operacionais Windows, mas a atualização é extremamente razoável em sistemas operacionais mais antigos. (PS4 tem um monte de outras coisas agradáveis, também.)
jpmc26

Uma ressalva importante: fcivfalha nos nomes de arquivos que contêm caracteres unicode.
wisbucky

18

Nenhuma ferramenta embutida.

Eu uso a extensão do shell HashCheck :

texto alternativo


Este é o meu favorito porque é uma extensão do kernel (não sei se eles ainda usam essa terminologia). Utilizado há anos.
precisa

Alguma maneira de obter hashes SHA-256 com isso?
Max

@ DavidCowden: Quais são os benefícios de implementar esse recurso, como uma extensão do kernel, em comparação com um aplicativo que trabalha exclusivamente no espaço do usuário. Isso não é potencialmente instável?
Isaac

@ Isaac sinto falta de falar. Nos termos antigos do Windows, é uma extensão do shell , não uma extensão do kernel. O benefício é que ele adiciona a interface do usuário diretamente ao Windows Explorer, para que você possa, como mostra a imagem, visualizar as somas de verificação e os hashes diretamente na janela de propriedades do arquivo. É bem legal!
David Cowden

11

Não é exatamente embutido, mas pelo menos você não precisa baixar nenhum software novo para fazê-lo funcionar. Você pode criar um script do PowerShell para calcular a MD5sum de arquivos. O script real pode ser encontrado aqui:

http://www.ahmadsoft.org/powershelljunkie/index.html

Copie esse texto em um arquivo chamado "ps-md5sum.ps1" e salve-o em algum lugar. Quando você precisar calcular o hash de um arquivo, abra o PowerShell no diretório do arquivo que você precisa verificar e execute-o:

[PS] C:\> ps-md5sum.ps1 file-of-choice.exe

E deve retornar o hash desse arquivo.


Este script PS1 de Joe Pruitt emula o comportamento do md5 do UNIX: devcentral.f5.com/weblogs/Joe/archive/2009/05/05/18/…
Brian Reiter




4

Além de todas as ótimas opções já publicadas, também há o md5deep / hashdeep , um conjunto de cálculo de hash de código aberto para Windows (mas também pode ser usado nos sistemas * nix e OS X) que suporta:

  • MD5
  • SHA-1
  • SHA-256
  • Tigre
  • Hidromassagem

Algumas vantagens do md5deep / hashdeep:

  • É de código aberto e multiplataforma.
  • É executado a partir da linha de comando e pode ser usado para scripts.
  • Ele otimizou binários para sistemas de 32 e 64 bits.
  • Ele suporta algoritmos de hash modernos (MD5 e SHA-1 estão quebrados neste momento para verificar a integridade do arquivo e assinaturas digitais, pois colisões já podem ser produzidas para o MD5 com relativa facilidade e as colisões SHA-1 estão cada vez mais dentro do campo de possibilidade ).
  • Pode gerar recursivamente somas de verificação para um diretório inteiro.
  • Ele pode testar um arquivo ou diretório em uma lista de somas de verificação gerada anteriormente para executar uma auditoria rápida do diretório (identificando arquivos ou arquivos desconhecidos que foram alterados).

Para usá-lo no Windows, você pode instalá-lo no Cygwin ou incluir o diretório md5deep na sua %PATH%variável. Embora eu pessoalmente prefira a seguinte configuração:

  1. Extraia todos os arquivos em algum lugar, por exemplo

    %ProgramFiles%\md5deep

  2. Crie um conjunto de arquivos em lote no diretório do Windows, por exemplo

    %WinDir%\md5.bat
    %WinDir%\hash.bat
    %WinDir%\sha1.bat
    %WinDir%\sha256.bat
    %WinDir%\tiger.bat
    %WinDir%\whirlpool.bat

  3. Inclua o caminho para os binários apropriados, por exemplo

    No md5.bat :
    @ECHO OFF
    "%ProgramW6432%\md5deep\md5deep64.exe" %*(sistemas de 64 bits)
    "%ProgramFiles%\md5deep\md5deep.exe" %*( sistemas de 32 bits)

    No hash.bat :
    @ECHO OFF
    "%ProgramW6432%\md5deep\hashdeep64.exe" %*(sistemas de 64 bits)
    "%ProgramFiles%\md5deep\hashdeep.exe" %*( sistemas de 32 bits)
    ...

Ou, se você deseja alternar automaticamente entre os binários de 32 e 64 bits do WoW64, pode colocar os binários de 32 bits %ProgramFiles(x86)%e os de 64 bits e %ProgramW6432%, em seguida, gravar seus arquivos em lotes da seguinte maneira:

@ECHO OFF
SET cmd=hashdeep
IF "%ProgramFiles%" EQU "%ProgramW6432%" SET cmd=%cmd%64
"%ProgramFiles%\md5deep\%cmd%.exe" %*
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.