消息摘要(哈希)引擎允许使用各种哈希算法直接或增量处理任意长度的消息。
安装
从 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 摘要密钥算法应应用于当前哈希上下文。