此扩展提供了可用于使用各种哈希算法直接或增量处理任意长度消息的函数,包括生成HMAC值和密钥派生,包括HKDF和PBKDF2。
哈希算法大致分为三类,完整的算法列表可以在hash_algos()函数的文档中找到。
"crc32b"
或"adler32"
):这些用于计算校验和,在检测传输错误等情况下很有用。它们通常非常快。这些算法通常生成易于“猜测”或可操纵以创建冲突的值,因此它们完全不适合用于加密。
一些早期的加密算法,例如"md4"
、"md5"
和"sha1"
,已被证明容易受到碰撞攻击,通常建议不再将这些用于加密应用程序。
另请参阅有关安全密码哈希的常见问题解答,以了解有关在处理密码时使用哈希函数的最佳实践的信息。