English | 简体中文 | 繁體中文
查询

sodium_crypto_kdf_derive_from_key()函数—用法及示例

「 从一个密钥派生出一个新的密钥 」


函数名称:sodium_crypto_kdf_derive_from_key()

函数功能:这个函数用于从一个密钥派生出一个新的密钥。

适用版本:PHP 7.2.0及以上版本。

语法:sodium_crypto_kdf_derive_from_key(int $subkeyLength, int $subkeyId, string $context, string $key) : string

参数:

  • $subkeyLength(必需):指定要派生出的子密钥的长度(以字节为单位)。
  • $subkeyId(必需):指定要派生出的子密钥的标识符(一个整数)。
  • $context(必需):指定派生过程的上下文(一个字符串)。
  • $key(必需):要派生的密钥(一个字符串)。

返回值:返回派生出的子密钥(一个字符串)。

示例:

$key = sodium_crypto_secretbox_keygen(); // 生成一个随机的密钥
$subkeyLength = 32; // 子密钥长度为32字节
$subkeyId = 1; // 子密钥标识符为1
$context = "example"; // 上下文为"example"

$subkey = sodium_crypto_kdf_derive_from_key($subkeyLength, $subkeyId, $context, $key);

echo bin2hex($subkey); // 输出派生出的子密钥的十六进制表示

在上面的示例中,我们首先生成一个随机的密钥,然后使用sodium_crypto_kdf_derive_from_key()函数从该密钥派生出一个子密钥。子密钥的长度为32字节,标识符为1,上下文为"example"。最后,我们使用bin2hex()函数将派生出的子密钥转换为十六进制表示并输出。

补充纠错
热门PHP函数
分享链接