Gerar um hash: MD5, SHA-256, SHA-512, bcrypt, argon2

calcula o hash de uma cadeia com os principais algoritmos (MD5, SHA-1, SHA-256, SHA-512, bcrypt, Argon2id). Útil para armazenar palavras-passe ou assinar dados de forma não reversível

Porquê utilizar o hashing de palavras-passe?

O hashing de palavras-passe é essencial para proteger informações sensíveis, como as palavras-passe de utilizador. Em vez de armazenar as palavras-passe em texto bruto, o hashing converte-as numa cadeia de caracteres aleatória e irreversível. Isto protege as palavras-passe mesmo em caso de violação da base de dados, porque o hash não pode ser facilmente invertido para recuperar a palavra-passe original.

Funcionalidades da ferramenta de hashing de palavras-passe

Esta ferramenta de hashing de palavras-passe utiliza algoritmos seguros para gerar hashes de alta qualidade. Pode escolher entre diferentes algoritmos de hashing, como SHA-256, SHA-512, bcrypt, ou outros algoritmos reconhecidos pela sua segurança.

Como utilizar a ferramenta de hashing

Na página de utilização, pode introduzir a palavra-passe a fazer hash na área de texto prevista para o efeito. Selecione o algoritmo de hashing pretendido e clique no botão para gerar o hash.

Uma vez o hash gerado, será apresentado numa área de resultado. Pode copiar o hash para o utilizar na sua aplicação ou base de dados segura.

Exemplo de hashing de palavra-passe

Eis um exemplo da palavra-passe "password123" sujeita a hash com o algoritmo bcrypt:


$2y$10$8Y1q1L6z0pcpO8fJcoJP3OzJ1i9gyThBVWy50MXKuR8ymyZvW9G7e

    

Perguntas frequentes

Porque não utilizar SHA-256 diretamente para armazenar palavras-passe?

SHA-256 é demasiado rápido. Uma GPU moderna pode testar vários milhares de milhões de hashes SHA-256 por segundo, o que torna os ataques por força bruta ou por dicionário triviais para palavras-passe comuns. Para o armazenamento de palavras-passe, utilize funções voluntariamente lentas e custosas em memória como bcrypt, scrypt ou argon2id. Integram um sal e um fator de custo ajustável para resistir à evolução do hardware.

Qual a diferença entre MD5, SHA-1 e SHA-256?

MD5 (128 bits) e SHA-1 (160 bits) são algoritmos antigos, considerados quebrados em criptografia: é possível produzir colisões na prática. SHA-256 (256 bits) pertence à família SHA-2 e continua a ser o padrão moderno para impressões de integridade, certificados TLS ou assinaturas de pacotes. Para um novo projeto, vá sistematicamente para SHA-256 ou SHA-512.

Para que serve o sal (salt) num hash de palavra-passe?

O sal é uma cadeia aleatória adicionada à palavra-passe antes do hashing. Garante que dois utilizadores que escolham a mesma palavra-passe obtêm dois hashes diferentes, o que impede o uso de tabelas pré-calculadas (rainbow tables) e obriga o atacante a atacar cada conta individualmente. bcrypt, scrypt e argon2 gerem automaticamente o sal, que fica armazenado na cadeia resultante.

Porque é que uma mesma palavra-passe em bcrypt dá um resultado diferente a cada execução?

Porque o bcrypt gera um sal aleatório a cada chamada e incorpora-o no hash final. O formato $2y$10$<sel><hash> integra o custo, o sal e a impressão numa única cadeia. Para verificar uma palavra-passe, extrai-se o sal do hash armazenado e refaz-se o hash da palavra-passe candidata com esse mesmo sal: é o que faz password_verify() em PHP.

bcrypt, scrypt ou argon2: qual escolher?

argon2id é a escolha recomendada pela OWASP em 2026: combina resistência aos ataques por GPU e por ASIC graças a um custo de memória ajustável. scrypt é uma boa alternativa se argon2 não estiver disponível. bcrypt continua muito difundido e aceitável para muitos usos, com um custo de pelo menos 12. A evitar absolutamente: MD5, SHA-1, SHA-256 ou SHA-512 usados sozinhos para armazenar uma palavra-passe.

A palavra-passe é enviada a um servidor durante o hashing?

Para os algoritmos puramente client-side (MD5, SHA-1, SHA-256, SHA-512) o cálculo pode fazer-se no navegador via a API Web Crypto. Para bcrypt, a implementação nativa PHP é utilizada no servidor porque nenhuma API padrão do navegador a expõe. Em todos os casos, a palavra-passe transita apenas em HTTPS, não é registada nem armazenada, e o hash devolvido pode ser copiado para uso posterior.

Exemplo de pedido

curl -X POST https://cdrn.fr/api/v1/tools/hash-generator/execute \
  -H "Content-Type: application/json" \
  -d '{"texte":"...","algorithm":"adler32"}'

Esquema de entrada

Campo Tipo Obrigatório Predefinição
texte text
algorithm choice (adler32, argon2i, argon2id, bcrypt, crc32, crc32b, crc32c, fnv132, fnv164, fnv1a32, fnv1a64, gost, gost-crypto, haval128,3, haval128,4, haval128,5, haval160,3, haval160,4, haval160,5, haval192,3, haval192,4, haval192,5, haval224,3, haval224,4, haval224,5, haval256,3, haval256,4, haval256,5, joaat, md2, md4, md5, murmur3a, murmur3c, murmur3f, ripemd128, ripemd160, ripemd256, ripemd320, sha1, sha224, sha256, sha3-224, sha3-256, sha3-384, sha3-512, sha384, sha512, sha512/224, sha512/256, snefru, snefru256, tiger128,3, tiger128,4, tiger160,3, tiger160,4, tiger192,3, tiger192,4, whirlpool, xxh128, xxh3, xxh32, xxh64)

Pontos de acesso

  • GET https://cdrn.fr/api/v1/tools - lista todas as ferramentas disponíveis
  • GET https://cdrn.fr/api/v1/tools/hash-generator - obtém o esquema desta ferramenta
  • POST https://cdrn.fr/api/v1/tools/hash-generator/execute - executa esta ferramenta com um payload JSON