Gerador de SHA-1 Online
Gere hashes SHA-1 de forma instantânea e gratuita! Digite qualquer texto e obtenha o hash SHA-1 correspondente em tempo real. Produz hashes de 160 bits (40 caracteres hexadecimais).
O que é SHA-1?
SHA-1 (Secure Hash Algorithm 1) é um algoritmo de hash criptográfico que produz um valor de hash de 160 bits (40 caracteres hexadecimais). Desenvolvido pela NSA e publicado pelo NIST em 1995, o SHA-1 foi amplamente utilizado em aplicações de segurança e verificação de integridade de dados.
Características do SHA-1
- Tamanho fixo: Sempre gera um hash de 160 bits (40 caracteres hexadecimais)
- Determinístico: A mesma entrada sempre produz o mesmo hash
- Efeito avalanche: Pequenas mudanças na entrada resultam em hashes completamente diferentes
- Irreversível: Não é possível recuperar a entrada original a partir do hash
- Mais seguro que MD5: Produz hashes maiores e oferece mais resistência a colisões
Status de Segurança do SHA-1
⚠️ Aviso Importante: SHA-1 foi oficialmente descontinuado para uso criptográfico em 2017. O Google demonstrou um ataque de colisão prático (SHAttered) em 2017, provando que SHA-1 não é mais seguro para aplicações críticas.
Usos Apropriados do SHA-1
✅ Ainda Aceitável:
- • Checksums de arquivos não-críticos
- • Git commit IDs (uso histórico)
- • Sistemas legados (quando necessário)
- • Verificação de integridade básica
- • Identificadores de conteúdo
❌ NÃO Use Para:
- • Certificados SSL/TLS
- • Assinaturas digitais
- • Armazenamento de senhas
- • Aplicações de segurança
- • Novos projetos criptográficos
SHA-1 vs MD5 vs SHA-256
Característica | MD5 | SHA-1 | SHA-256 |
---|---|---|---|
Tamanho do Hash | 128 bits (32 hex) | 160 bits (40 hex) | 256 bits (64 hex) |
Segurança | Quebrado | Descontinuado | Seguro |
Velocidade | Muito rápido | Rápido | Moderado |
Uso Recomendado | Checksums básicos | Sistemas legados | Aplicações modernas |
Exemplos de Uso em Diferentes Linguagens
JavaScript (Browser)
async function generateSHA1(text) {
const encoder = new TextEncoder();
const data = encoder.encode(text);
const hashBuffer = await crypto.subtle.digest('SHA-1', data);
const hashArray = Array.from(new Uint8Array(hashBuffer));
return hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
}
generateSHA1('Hello World').then(hash => console.log(hash));
// Saída: 0a4d55a8d778e5022fab701977c5d840bbc486d0
Python
import hashlib
def generate_sha1(text):
return hashlib.sha1(text.encode()).hexdigest()
print(generate_sha1('Hello World'))
# Saída: 0a4d55a8d778e5022fab701977c5d840bbc486d0
PHP
<?php
$text = 'Hello World';
$sha1_hash = sha1($text);
echo $sha1_hash;
// Saída: 0a4d55a8d778e5022fab701977c5d840bbc486d0
?>
Java
import java.security.MessageDigest;
import java.nio.charset.StandardCharsets;
public class SHA1Generator {
public static String generateSHA1(String text) throws Exception {
MessageDigest md = MessageDigest.getInstance("SHA-1");
byte[] hashBytes = md.digest(text.getBytes(StandardCharsets.UTF_8));
StringBuilder sb = new StringBuilder();
for (byte b : hashBytes) {
sb.append(String.format("%02x", b));
}
return sb.toString();
}
}
O Ataque SHAttered (2017)
Em fevereiro de 2017, pesquisadores do Google e do CWI Amsterdam anunciaram o primeiro ataque de colisão prático contra SHA-1, chamado "SHAttered". Eles conseguiram criar dois arquivos PDF diferentes que produzem o mesmo hash SHA-1, provando que SHA-1 não é mais seguro para uso criptográfico.
- Custo computacional: Equivalente a 6.500 anos de CPU single-thread e 110 anos de GPU
- Impacto: Certificados SSL, assinaturas digitais e sistemas de controle de versão
- Recomendação: Migrar para SHA-256 ou superior
Alternativas Mais Seguras
Para novas aplicações, use algoritmos mais seguros:
- SHA-256: Padrão atual para a maioria das aplicações
- SHA-512: Mais robusto para aplicações de alta segurança
- SHA-3: Algoritmo mais recente, baseado em construção diferente (Keccak)
- BLAKE2/BLAKE3: Mais rápidos que SHA-2 e seguros
Perguntas Frequentes sobre SHA-1
Por que o Git ainda usa SHA-1?
O Git começou a usar SHA-1 antes das vulnerabilidades serem conhecidas. Embora existam planos para migrar para SHA-256, o Git implementou proteções contra colisões conhecidas. Para a maioria dos usos do Git, o risco é baixo.
SHA-1 é mais seguro que MD5?
Sim, SHA-1 produz hashes maiores (160 bits vs 128 bits) e foi projetado para ser mais resistente a ataques. No entanto, ambos agora são considerados criptograficamente quebrados e não devem ser usados para aplicações de segurança.
Posso usar SHA-1 para verificar downloads?
Para detectar corrupção acidental, SHA-1 ainda funciona bem. Porém, se houver preocupação com modificação maliciosa intencional, use SHA-256 ou superior.
O que substitui SHA-1 em certificados SSL?
SHA-256 tornou-se o padrão para certificados SSL/TLS. A maioria dos navegadores parou de aceitar certificados assinados com SHA-1 em 2017.