消息摘要(哈希)引擎允许使用各种哈希算法直接或增量处理任意长度的消息。

安装

从 PHP 5.1.2 开始,Hash 扩展默认捆绑并编译到 PHP 中。

可以通过使用 --disable-hash 开关进行配置来显式禁用它。早期版本的 PHP 可以通过安装 PECL 模块来合并 Hash 扩展。

从 PHP 7.4.0 开始,Hash 扩展是核心 PHP 扩展,因此始终启用。

运行时配置

此扩展没有在 php.ini 中定义配置指令。

PHP HashContext 类

类描述
HashContext HashContext 类。
方法描述
__construct()禁止直接实例化的私有构造函数。

PHP 哈希函数

函数说明
hash_algos()返回已注册的哈希算法列表。
hash_copy()复制哈希上下文。
hash_equals()定时攻击安全字符串比较。
hash_file()使用内容生成哈希值给定文件的。
hash_final()完成增量哈希并返回结果摘要。
hash_hkdf()生成提供的密钥输入的 HKDF 密钥派生。
hash_hmac()使用 HMAC 方法生成带密钥的哈希值。
hash_hmac_algos()返回适用于hash_hmac().
hash_hmac_file()使用 HMAC 方法和给定文件的内容生成带密钥的哈希值。
hash_init()初始化增量哈希上下文。
hash_pbkdf2()生成所提供密码的 PBKDF2 密钥派生。
hash_update()将数据泵送到活动的哈希上下文中。
hash_update_file()将数据从文件。
hash_update_stream()将数据从开放流泵入活动哈希上下文。

PHP 哈希预定义常量

以下常量定义为此扩展,并且仅当扩展已编译为 PHP 或在运行时动态加载时才可用。

HASH_HMAC (int)

可选标志对于hash_init()。指示 HMAC 摘要密钥算法应应用于当前哈希上下文。