Olá,
Estou em dúvidas quanto ao script para criar o hash SHA1. Testei o cmdlet em um arquivo o comando do PowerShell e o hash não bate com o gerado pelo script apresentado.
Comando do PowerShell
Get-FileHash -Algorithm SHA1 arquivo
Olá,
Estou em dúvidas quanto ao script para criar o hash SHA1. Testei o cmdlet em um arquivo o comando do PowerShell e o hash não bate com o gerado pelo script apresentado.
Get-FileHash -Algorithm SHA1 arquivo
Olá Cesar, tudo bem com você?
Peço desculpas pela demora em obter um retorno.
A diferença entre os resultados apresentados para o hash, ocorre devido ao tipo de Namespace utilizado para realizar a manipulação do rash, no script criado no curso é utilizado o Namespace System.Security.Cryptography
, já quando utilizamos o comando Get-FileHash
é utilizado o módulo Microsoft.PowerShell.Utility
, embora ambos os algoritmos sejam baseados no mesmo princípio, podem levar a resultados ligeiramente diferentes.
Além disso, no código da aula o conteúdo do arquivo é tratado como texto UTF-8 antes de calcular o hash. No entanto, o comando Get-FileHash
usa a codificação padrão do sistema para ler o arquivo. Se o arquivo estiver codificado com uma codificação diferente de UTF-8, isso pode levar a diferenças nos bytes lidos e, consequentemente, nos hashes gerados.
Por isso, quando trabalhamos com o uso do hash é importante padronizarmos a fonte de coleta do hash, se iniciamos a coleta através de um script como o criado na aula, devemos utilizá-lo caso seja necessário confirmar um determinado hash, mas, se iniciarmos a coleta com o comando Get-FileHash
este mesmo comando deve ser utilizado para conferências futuras, para que este tipo de comportamento ocorra.
Em caso de dúvidas estou à disposição.
Abraços e bons estudos!