top of page

PowerShell: Criando Lista de Códigos Hash

Foto do escritor: Adauto CostaAdauto Costa

Atualizado: 24 de out. de 2023

A criação de um código hash em um arquivo antes de enviá-lo para alguém é uma medida de segurança fundamental. Esse código é uma representação única dos dados do arquivo e permite verificar sua integridade. Ao enviar um arquivo com um código hash, o destinatário pode comparar o código recebido com o código gerado a partir do arquivo original. Se os códigos coincidirem, isso garante que o arquivo não foi alterado durante a transferência, protegendo contra modificações não autorizadas e garantindo a autenticidade e confiabilidade dos dados compartilhados.


Antes de utilizar o script para criar a lista de códigos hash no PowerShell contido neste post, você precisa habilitar a execução deles. Clique na imagem abaixo para ver como.


Habilitar scripts no PowerShell

Uma vez habilitada a execução de scripts, crie um arquivo com a extensão *.ps1 e cole o código:


$diretorio = "seu_dir"
$listaInformacoes = @()

# Obter a lista de arquivos no diretório
$listaArquivos = Get-ChildItem -Path $diretorio

# Para cada arquivo na lista, obter informações e adicionar à lista
foreach ($arquivo in $listaArquivos) {
    $hash = Get-FileHash -Path $arquivo.FullName -Algorithm SHA256
    $dataModificacao = $arquivo.LastWriteTime
    $linha = "$($arquivo.DirectoryName)`t$($arquivo.Name)`t$($hash.Hash)`t$dataModificacao"
    $listaInformacoes += $linha
}

# Salvar a lista de informações em um arquivo de texto
$listaInformacoes | Out-File -FilePath $diretorio"\_HASH.txt"

Substitua seu_dir pelo diretório dos arquivos e altere o algoritmo (está SHA256) caso deseje. Caso seu código esteja retornando erro por conta da codificação do arquivo, experimente executar:

powershell -NoProfile -ExecutionPolicy Bypass -Command "& {Set-Content -Path .\seu_codigo.ps1 -Value (Get-Content -Path .\seu_codigo.ps1 -Encoding UTF8) -Encoding UTF8 ; .\seu_codigo.ps1}"

Substitua seu_codigo pelo nome do arquivo. Você deve usar esses comandos para abrir um arquivo .ps1 no PowerShell com codificação UTF-8 no Prompt de Comando porque eles garantem que o arquivo seja interpretado corretamente e evita problemas de caracteres especiais ou acentuados em seu código. Essa abordagem garante que o PowerShell compreenda a codificação do arquivo e execute o script corretamente.


Veja no vídeo abaixo como executar este script de forma simples:


Gostou do conteúdo? Compartilhe!

Posts recentes

Ver tudo

Comentários


Faça parte da nossa lista de emails

Obrigado!

ad33geo canal whatsapp.png
Dê sua opinião sobre algo do site!

Obrigado! Enviaremos um e-mail em breve informando que seu conteúdo foi publicado!

siga-nos!

  • Facebook
  • Instagram
  • YouTube
bottom of page