2024年PHP开发者大会日本站

介绍

此扩展提供了可用于使用各种哈希算法直接或增量处理任意长度消息的函数,包括生成HMAC值和密钥派生,包括HKDFPBKDF2

哈希算法大致分为三类,完整的算法列表可以在hash_algos()函数的文档中找到。

  • 校验和算法(例如"crc32b""adler32"):这些用于计算校验和,在检测传输错误等情况下很有用。它们通常非常快。这些算法通常生成易于“猜测”或可操纵以创建冲突的值,因此它们完全不适合用于加密。
  • 非加密算法(例如xxHash系列):这些通常用于计算哈希表中的哈希值,因为它们旨在对任意字符串输入产生良好的分布。它们通常也很快,但不适合用于加密。
  • 加密算法(例如SHA-2系列):这些旨在产生代表其输入但不可猜测且不易冲突的哈希值。性能通常是次要考虑因素,但现代硬件通常支持对这些算法的特殊处理,PHP 会尝试在可用时使用这些处理。 美国国家标准与技术研究院(NIST)的计算机安全资源中心对» 目前美国联邦信息处理标准批准的算法进行了说明
    警告

    一些早期的加密算法,例如"md4""md5""sha1",已被证明容易受到碰撞攻击,通常建议不再将这些用于加密应用程序。

另请参阅有关安全密码哈希的常见问题解答,以了解有关在处理密码时使用哈希函数的最佳实践的信息。

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top