Saltar para o conteúdo
BCBinary Code Translator
Menu

Utilitário criptográfico

Gerador SHA para texto e ficheiros

Calcule SHA-1, SHA-256, SHA-384 ou SHA-512 com Web Crypto sobre texto UTF-8 ou bytes de ficheiros locais, em Hex ou Base64.

Texto e ficheiros permanecem locais. SHA-1 existe apenas por compatibilidade e não é recomendado para nova resistência a colisões.

Como calcular um resumo SHA

Selecione texto ou ficheiro, algoritmo e codificação. O texto é codificado em UTF-8. Em ficheiro, os bytes exatos são lidos e enviados a SubtleCrypto.digest.

  1. Escolha Texto ou Ficheiro; ficheiro não é descodificado como texto.
  2. Use SHA-256 como opção moderna comum ou o algoritmo exato exigido pelo protocolo.
  3. Escolha Hex para checksums comuns ou Base64 quando o sistema esperar.
  4. Compare o resumo completo com fonte fiável; coincidência sozinha não autentica o publicador.

Exemplos e comportamento esperado

Entrada Saída Observações
abc com SHA-1 a9993e364706816aba3e25717850c26c9cd0d89d Vetor conhecido, apenas para compatibilidade.
abc com SHA-256 ba7816bf8f01cfea414140de5dae2223… 256 bits equivalem a 64 carateres hexadecimais.
abc com SHA-384 cb00753f45a35e8bb5a03d699ac6500… 384 bits equivalem a 96 carateres hexadecimais.
abc com SHA-512 ddaf35a193617abacc417349ae204131… 512 bits equivalem a 128 carateres hexadecimais.
Olá 👋 em UTF-8 Resumo determinístico Bytes UTF-8 são usados, não unidades UTF-16.
Ficheiro local Resumo dos bytes exatos Um byte ou metadado interno diferente muda o resultado.

Funções hash e determinismo

Uma função hash criptográfica converte qualquer tamanho em resumo fixo. A mesma sequência de bytes produz o mesmo resultado e uma mudança pequena deve alterar amplamente o resumo. Não é codificação reversível.

Determinismo serve para integridade, conteúdo, cache e builds. Também permite adivinhar segredos de baixa entropia por comparação; palavras-passe exigem funções lentas e com salt, não uma função SHA genérica.

  • SHA-256 produz 32 bytes.
  • Hex usa dois carateres por byte.
  • Base64 representa os mesmos bytes de forma menor.

Escolha de algoritmo e SHA-1

SHA-256, 384 e 512 pertencem ao SHA-2. Use o algoritmo indicado pela fonte ou protocolo; não são intercambiáveis. Saída maior não corrige protocolo mal projetado.

SHA-1 permanece por sistemas antigos. Colisões práticas o tornam inadequado para novas assinaturas, certificados ou distribuição adversarial. Migre para SHA-256 ou construção aprovada.

  • Não use SHA-1 contra atacantes capazes.
  • Não adivinhe só pelo tamanho.
  • HMAC é construção diferente com chave.

Codificação de texto e bytes de ficheiro

TextEncoder usa UTF-8 sem normalizar. Unicode, carateres invisíveis, espaços finais e CRLF/LF podem mudar os bytes embora o texto pareça igual. Outros sistemas com UTF-16 produzirão outro resumo.

File.arrayBuffer entrega o conteúdo exato. Nome, MIME e data não entram, salvo se estiverem dentro do ficheiro. Guardar novamente uma imagem ou um documento pode alterar metadados internos.

  • Preserve quebras finais.
  • Compare tamanho ao diagnosticar.
  • Documente codificação e normalização.

Integridade e confiança

Coincidência indica bytes provavelmente iguais, mas não quem os criou. Se um atacante substituir ficheiro e checksum, hash simples não oferece autenticidade.

Obtenha o valor esperado por manifesto assinado, metadados fiáveis ou canal autenticado. Use HMAC para segredo partilhado e assinatura digital para autenticidade pública.

  • Compare o resumo completo.
  • Use comparação constante em código sensível.
  • Armazene algoritmo junto ao valor.

Usos e diagnóstico

Serve para downloads, comparar exportações, registar artefatos, chaves de cache e vetores. Modo local evita upload e texto ajuda em normalização canónica.

Para reproduzir, registe entrada, algoritmo, codificação e normalização. Ao diferir, reveja tamanho, quebras, Unicode, compressão e metadados.

  • Verificar checksums fiáveis.
  • Comparar ficheiros locais.
  • Testar vetores conhecidos.
  • Diagnosticar UTF-8 versus outras codificações.

Limites e não objetivos

A API Web Crypto é obrigatória; se não estiver disponível, a operação falha. O ficheiro inteiro permanece em memória, pelo que ficheiros enormes exigem uma ferramenta nativa com processamento incremental.

Não quebra hashes, não encripta, não assina, não guarda palavras-passe nem consulta a reputação de malware. Produz apenas o resumo selecionado.

  • Nenhum ficheiro é lido antes da seleção.
  • Limpar não apaga caches do sistema.
  • Use Argon2, scrypt ou bcrypt para palavras-passe.

Diferenças para HMAC e UUID

Hash não tem chave e qualquer pessoa pode reproduzir. HMAC adiciona segredo para autenticidade. UUID v4 identifica aleatoriamente e não depende do conteúdo.

Use hash para checksum, HMAC para autenticação partilhada, assinatura para verificação pública e UUID para identificadores.

Perguntas frequentes

Ficheiros são enviados?

Não. São lidos no navegador e passados ao Web Crypto no separador. Não há envio intencional.

Qual algoritmo escolher?

O exigido pelo protocolo. SHA-256 é opção moderna comum. Evite SHA-1 para novas decisões de segurança contra colisão.

Porque é que texto visualmente igual gera outro hash?

Codificação, normalização, carateres ocultos, espaços ou finais de linha podem mudar. Aqui é usado UTF-8 sem normalização.

É possível reverter SHA?

Não é reversível, mas entradas de baixa entropia podem ser adivinhadas por comparação. Por isso, um hash genérico não é adequado a palavras-passe.

Coincidência prova autenticidade?

Apenas integridade relativa ao valor esperado. Se esse valor não for fiável, ambos podem ser substituídos. Use uma assinatura ou metadados autenticados.

Porque é que SHA-1 está disponível?

Por compatibilidade com sistemas antigos. A interface alerta que colisões práticas o tornam inadequado para novos usos resistentes.

Ferramentas relacionadas

Preferências de cookies

Gerir as preferências de cookies. Os cookies necessários não podem ser desativados.

Necessários

Obrigatório

Necessários para seleção de idioma, escolhas de privacidade e funcionalidades básicas do site.

Cookies: NEXT_LOCALE

Análises

Cookies opcionais de análise ajudam a entender o tráfego e melhorar o site.

Cookies: _ga, _gid, _gat, _clck, _clsk

Publicidade

Cookies opcionais de publicidade podem ser usados para mostrar anúncios relevantes e medir desempenho.

Cookies: __gads, _gcl_au, IDE