Ferramenta de Hash / HMAC
Gere um digest hexadecimal ou compare um digest existente usando o algoritmo selecionado.
Hash não é criptografia
Um hash criptográfico transforma uma entrada arbitrária em um digest de tamanho fixo. Ele é projetado como transformação de mão única: não existe uma chave de descriptografia capaz de recuperar a entrada original a partir do digest.
Prefira algoritmos modernos para novos usos de integridade
SHA-256 e SHA-512 pertencem à família SHA-2, enquanto SHA3-256 e SHA3-512 pertencem à SHA-3. As duas famílias são escolhas modernas adequadas para hashing criptográfico quando o protocolo e a implementação ao redor também são apropriados.
HMAC adiciona autenticação com um segredo compartilhado
HMAC combina uma função de hash criptográfico com uma chave secreta. Ele é usado quando apenas integridade não basta e o destinatário também precisa de evidência de que a mensagem foi produzida por alguém que conhece o segredo compartilhado.
MD5 e SHA-1 permanecem apenas para compatibilidade
MD5 e SHA-1 estão disponíveis aqui para reproduzir ou verificar valores encontrados em sistemas legados. Eles não devem ser escolhidos para novas aplicações que dependam de resistência a colisões.
Hashes puros não são funções para armazenamento de senhas
Senhas devem ser armazenadas com uma função específica de password hashing deliberadamente custosa, como Argon2id ou bcrypt por meio de password_hash() no PHP. SHA-256, SHA-512 e SHA-3 são hashes rápidos de uso geral e não substituem um esquema adequado de armazenamento de senhas.
Um caractere invisível muda o resultado
O hashing opera sobre bytes. Um espaço no final, uma quebra de linha, codificação de caracteres diferente ou mudança entre maiúsculas e minúsculas produz outro digest. Ao comparar valores entre sistemas, confirme exatamente quais dados cada lado processa.