生成散列值（消息摘要）

# hash

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash — 生成散列值（消息摘要）

### 说明

function hash(
string `$algo`,
string `$data`,
bool `$binary` = `false`,
array `$options` = []
): string

### 参数

`algo`

  要使用的散列算法的名称（例如：`“sha256”`）。 可以在 hash_algos() 中查看当前支持的算法。

`data`

  要进行散列运算的消息。

`binary`

  设置为 `true` 输出原始二进制数据， 设置为 `false` 输出小写 16 进制字符串。

`options`

  各种散列算法的一系列选项数组。 目前 MurmurHash 算法仅支持 `“seed”` 参数。

### 返回值

如果 `binary` 设置为 `true`， 则返回原始二进制数据表示的信息摘要， 否则返回 16 进制小写字符串格式表示的信息摘要。

### 更新日志

版本 | 说明
--- | ---
8.1.0 | 新增 `options` 参数。
8.0.0 | 如果 `algo` 未知，现在 hash() 将抛出 ValueError 异常，之前返回 `false`。

### 示例

示例 #1 hash() 示例

    <?php
    echo hash('sha256', 'The quick brown fox jumped over the lazy dog.');
    ?>

以上示例会输出：

    68b1282b91de2c054c36629cb8dd447f12f096d3e3c587978dc2248444633483

### 参见

- hash_init() - 初始化增量散列运算上下文
- hash_file() - 给指定文件的内容生成散列值
- hash_hmac() - 使用 HMAC 方法生成带有密钥的散列值

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open