Esta extensão fornece funções que podem ser usadas para processamento direto ou incremental de mensagens de comprimento arbitrário usando uma variedade de algortimos de hash, incluindo a geração de valores HMAC e derivações chave, incluindo HKDF e PBKDF2.
De forma geral, existem três categorias de algoritmos de hash. Uma lista completa de algoritmos pode ser encontrada na documentação da função hash_algos().
"crc32b"
ou "adler32"
):
Estes são usados para calcular somas de verificação, úteis em situações em que
erros de transmissão precisam ser detectados. São geralmente muito rápidos. Estes
algoritmos frequentemente geram valores que facilmente "previsíveis" ou podem ser manipulados
para criar colisões, portanto são totalmente inadequados para uso em criptografia.
Já foi provado que alguns dos primeiros algoritmos criptográficos, tais como "md4"
,
"md5"
e "sha1"
,
estão sujeiros a ataques de colisão e por isso é recomendado que não
sejam mais usados para aplicações de criptografia.
Consulte também as Perguntas Frequentes sobre Hash Seguro de Senhas para informação sobre melhores práticas para o uso de funções de hash ao lidar com senhas.