Guia de Hash de Arquivos Linux 2026

Table of Contents
Guia: Obtendo Hashes de Arquivos no Linux usando Ferramentas Integradas
Introdução
No mundo dos sistemas Linux, obter hashes de arquivos é essencial para garantir a integridade dos dados e verificar a autenticidade dos arquivos. Hashes de arquivos servem como identificadores únicos que permitem aos usuários detectar tentativas de adulteração e validar a integridade dos dados. Neste guia abrangente, exploraremos como obter hashes SHA256, MD5 e SHA1 de arquivos no Linux usando ferramentas integradas. Siga as instruções passo a passo e aprenda por meio de exemplos específicos.
Obtendo Hashes no Linux usando Ferramentas Integradas
O Linux oferece várias ferramentas integradas que permitem aos usuários calcular hashes de arquivos sem a necessidade de instalar softwares adicionais. Exploraremos três algoritmos de hashing amplamente usados: SHA256, MD5 e SHA1.
Obtendo o Hash SHA256
Para obter o hash SHA256 de um arquivo no Linux, você pode usar o comando sha256sum. Abra um terminal e navegue até o diretório onde o arquivo está localizado. Em seguida, execute o seguinte comando:
sha256sum file_path
Substitua file_path pelo caminho real do seu arquivo.
Obtendo os Hashes MD5 e SHA1
Você também pode obter os hashes MD5 e SHA1 hashes de um arquivo no Linux usando comandos similares:
- Para obter o
MD5 hash:
md5sum file_path
- Para obter o
SHA1 hash:
sha1sum file_path
Substitua file_path pelo caminho do seu arquivo em ambos os comandos.
Exemplos
Vamos analisar exemplos específicos para ilustrar o processo de obtenção de hashes usando ferramentas integradas no Linux.
Exemplo 1: Obtendo Hash SHA256
Imagine que você tem um arquivo chamado document.pdf localizado no diretório /home/user/docs. Para obter o SHA256 hash deste arquivo no Linux, execute o seguinte comando:
sha256sum /home/user/docs/document.pdf
A saída exibirá o valor SHA256 hash do arquivo.
Exemplo 2: Obtendo Hash MD5
Suponha que você tenha um arquivo chamado image.jpg armazenado no diretório /home/user/pictures. Para obter o MD5 hash deste arquivo no Linux, execute o seguinte comando:
md5sum /home/user/pictures/image.jpg
O terminal exibirá o valor MD5 hash do arquivo.
Exemplo 3: Obtendo Hash SHA1
Considere um cenário onde você tem um arquivo chamado data.txt localizado no diretório /home/user/files. Para obter o SHA1 hash deste arquivo no Linux, execute o seguinte comando:
sha1sum /home/user/files/data.txt
A saída exibirá o valor SHA1 hash do arquivo.
Operações Avançadas de Hash no Linux
Hash de Múltiplos Arquivos de Uma Vez
# Hash all PDF files in directory
sha256sum /home/user/docs/*.pdf
# Hash all files recursively
find /home/user/data -type f -exec sha256sum {} \;
Criar Arquivo Manifesto de Hash
Gere um arquivo contendo hashes para verificação posterior:
# Create checksum file
sha256sum /home/user/important/* > checksums.txt
# Verify files against checksum file
sha256sum -c checksums.txt
Saída quando os arquivos coincidem:
file1.txt: OK
file2.pdf: OK
file3.jpg: OK
Comparar Hash com Valor Esperado
# Method 1: Manual comparison
expected_hash="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
actual_hash=$(sha256sum /path/to/file | awk '{print $1}')
if [ "$actual_hash" == "$expected_hash" ]; then
echo "✓ File verified - hash matches"
else
echo "✗ WARNING: Hash mismatch!"
fi
# Method 2: Using echo and checking
echo "$expected_hash /path/to/file" | sha256sum -c -
Hash a partir da Entrada Padrão
# Hash text directly
echo -n "Hello World" | sha256sum
# Hash command output
cat /etc/passwd | sha256sum
# Hash without trailing newline (important!)
echo -n "text" | sha256sum # Correct
echo "text" | sha256sum # Different hash (includes newline)
Casos de Uso Práticos
1. Verificar ISOs Baixados
Distribuições Linux fornecem checksums de hash para verificar downloads:
# Download Ubuntu ISO hash
wget https://releases.ubuntu.com/SHA256SUMS
# Verify your downloaded ISO
sha256sum ubuntu-26.04-desktop-amd64.iso
# Compare against published hash
grep ubuntu-26.04-desktop-amd64.iso SHA256SUMS
2. Detectar Adulteração de Arquivos
Monitore arquivos críticos do sistema:
# Create baseline
sudo sha256sum /etc/passwd /etc/shadow /etc/sudoers > /secure/baseline-hashes.txt
# Later, check for changes
sudo sha256sum -c /secure/baseline-hashes.txt
# Script for monitoring
#!/bin/bash
if ! sudo sha256sum -c /secure/baseline-hashes.txt > /dev/null 2>&1; then
echo "ALERT: System files modified!" | mail -s "Security Alert" [email protected]
fi
3. Deduplicar Arquivos
Encontre arquivos duplicados usando hashes:
# Find duplicates in directory
find /home/user/photos -type f -exec sha256sum {} \; | sort | uniq -w 64 -D
4. Verificar Integridade de Backup
# Create hash manifest before backup
find /data -type f -exec sha256sum {} \; > /backup/manifest-$(date +%Y%m%d).txt
# After restore, verify
sha256sum -c /backup/manifest-20260524.txt
Scripts de Automação
Script 1: Gerador Recursivo de Hash
#!/bin/bash
# hash-directory.sh
# Usage: ./hash-directory.sh /path/to/directory
if [ $# -eq 0 ]; then
echo "Usage: $0 <directory>"
exit 1
fi
directory="$1"
output="hashes-$(date +%Y%m%d-%H%M%S).txt"
echo "Generating SHA256 hashes for: $directory"
find "$directory" -type f -exec sha256sum {} \; > "$output"
echo "✓ Saved $(wc -l < "$output") file hashes to: $output"
Script 2: Ferramenta de Verificação de Hash
#!/bin/bash
# verify-hashes.sh
# Usage: ./verify-hashes.sh checksums.txt
if [ ! -f "$1" ]; then
echo "Error: Checksum file not found"
exit 1
fi
echo "Verifying file integrity..."
if sha256sum -c "$1" 2>/dev/null; then
echo "✓ All files verified successfully"
exit 0
else
echo "✗ Some files failed verification"
exit 1
fi
Script 3: Verificação de Download
#!/bin/bash
# verify-download.sh <file> <expected-sha256>
file="$1"
expected="$2"
if [ ! -f "$file" ]; then
echo "Error: File not found"
exit 1
fi
actual=$(sha256sum "$file" | awk '{print $1}')
if [ "$actual" == "$expected" ]; then
echo "✓ Download verified - SHA256 matches"
exit 0
else
echo "✗ DANGER: SHA256 mismatch!"
echo "Expected: $expected"
echo "Actual: $actual"
exit 1
fi
Otimização de Desempenho
Hash de Arquivos Grandes com Eficiência
Para arquivos muito grandes, você pode monitorar o progresso:
# Using pv (pipe viewer) to show progress
pv large-file.iso | sha256sum
# Install pv if needed
sudo apt install pv # Debian/Ubuntu
sudo dnf install pv # Fedora
Hash Paralelo
Faça hash de múltiplos arquivos em paralelo usando GNU Parallel:
# Install parallel
sudo apt install parallel
# Hash files in parallel (4 jobs)
find /data -type f | parallel -j 4 sha256sum {} > hashes.txt
Benchmark de Algoritmos de Hash
# Compare speed of different algorithms
time sha256sum large-file.bin
time sha1sum large-file.bin
time md5sum large-file.bin
# Typical results (1GB file):
# MD5: ~1-2 seconds (fastest, insecure)
# SHA1: ~2-3 seconds (deprecated)
# SHA256: ~3-5 seconds (recommended)
Comparação de Segurança dos Algoritmos de Hash
| Algoritmo | Tamanho do Hash | Status 2026 | Caso de Uso |
|---|---|---|---|
| SHA-256 | 256 bits (64 caracteres) | ✅ Seguro | Recomendado para todos os fins de segurança |
| SHA-512 | 512 bits (128 caracteres) | ✅ Seguro | Segurança extra para dados sensíveis |
| SHA-1 | 160 bits (40 caracteres) | ⚠️ Obsoleto | Apenas para compatibilidade legada |
| MD5 | 128 bits (32 caracteres) | ❌ Quebrado | Apenas para fins não relacionados à segurança |
Recomendação 2026: Sempre use SHA-256 ou SHA-512 para aplicações críticas de segurança.
Integração com Gerenciadores de Pacotes
Verificar Pacotes APT (Debian/Ubuntu)
# Check package integrity
debsums -c
# Verify specific package
debsums openssh-server
Verificar Pacotes RPM (Fedora/RHEL)
# Check all packages
rpm -Va
# Verify specific package
rpm -V openssh-server
Melhores Práticas para 2026
- Use SHA-256 como padrão: É o padrão atual de segurança
- Evite MD5 e SHA-1 para segurança: Apenas para compatibilidade legada
- Sempre use a flag
-cpara verificação:sha256sum -c checksums.txt - Armazene checksums separadamente: Não armazene hashes junto com os arquivos que verificam
- Use
-bpara modo binário:sha256sum -b file.bin(importante em alguns sistemas) - Automatize a verificação: Crie tarefas cron para monitoramento de arquivos críticos
- Use
--quietem scripts: Suprima mensagens OK comsha256sum -c --quiet
Solução de Problemas
“No such file or directory”
Solução: Use aspas para caminhos com espaços:
sha256sum "/path/with spaces/file.txt"
“WARNING: X lines are improperly formatted”
Solução: O formato do arquivo checksum deve ser:
hash_value filename
Note os dois espaços entre o hash e o nome do arquivo.
Permissão Negada
Solução: Use sudo para arquivos do sistema:
sudo sha256sum /etc/shadow
Verificação Multiplataforma
Verificar Hashes Linux no Windows
# PowerShell on Windows
Get-FileHash -Algorithm SHA256 file.txt
Verificar Hashes Linux no macOS
# macOS uses shasum
shasum -a 256 file.txt
Conclusão
O Linux fornece ferramentas integradas poderosas (sha256sum, md5sum, sha1sum) para hashing de arquivos. Seja para verificar downloads, monitorar integridade de arquivos, detectar duplicatas ou garantir a validade de backups, dominar esses comandos é essencial para administração de sistemas e segurança em 2026.
pontos principais:
- Use sha256sum para todas as funções de hash relacionadas à segurança
- Crie manifestos de hash com
sha256sum * > checksums.txt - Verifique arquivos com
sha256sum -c checksums.txt - Automatize a verificação de hash em scripts para arquivos críticos
- Evite MD5 e SHA-1 para fins de segurança
Referências
- sha256sum - página de manual do Linux
- md5sum - página de manual do Linux
- sha1sum - página de manual do Linux
- GNU Coreutils - Checksums
- Funções Hash do NIST






