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.