PHP Conference Japan 2024

mhash_keygen_s2k

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

mhash_keygen_s2k生成密钥

警告

此函数自 PHP 8.1.0 起已弃用。强烈建议不要依赖此函数。

描述

#[\Deprecated]
mhash_keygen_s2k(
    int $algo,
    string $password,
    string $salt,
    int $length
): string|false

根据给定的 algo 生成密钥,使用用户提供的 password

这是 OpenPGP 文档中指定的加盐 S2K 算法(» RFC 2440)。

请记住,用户提供的密码并不真正适合用作加密算法中的密钥,因为用户通常选择他们可以在键盘上键入的密钥。这些密码每个字符仅使用 6 到 7 位(或更少)。强烈建议对用户提供的密钥进行某种转换(如本函数)。

参数

algo

用于创建密钥的哈希 ID。MHASH_hashname 常量之一。

password

用户提供的密码。

salt

对于您生成的每个密钥都必须不同且足够随机,以便创建不同的密钥。因为在检查密钥时必须知道 salt,所以将其附加到密钥是一个好主意。Salt 的长度固定为 8 字节,如果提供的字节数少于 8 字节,则将用零填充。

length

密钥长度(以字节为单位)。

返回值

返回生成的密钥作为字符串,或在发生错误时返回false

变更日志

版本 描述
8.1.0 此函数已弃用。请改用 hash_*() 函数

添加注释

用户贡献的注释

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