Gerar um hash: MD5, SHA-256, SHA-512, bcrypt, argon2
- Painel
- Documentação
- API
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íveisGET https://cdrn.fr/api/v1/tools/hash-generator- obtém o esquema desta ferramentaPOST https://cdrn.fr/api/v1/tools/hash-generator/execute- executa esta ferramenta com um payload JSON