Sodium_crypto_generichash()
函数用于生成可用于密码学用途的哈希值。以下是该函数的详细用法及示例:
函数用法:
sodium_crypto_generichash(string $message [, string $key = '' [, int $outputLength = 32 ]]) : string|false
参数:
$message
:要哈希化的消息。$key
(可选):一个可选的密钥,用于增加哈希的安全性。$outputLength
(可选):哈希输出的长度,默认为32字节。
返回值:
- 成功时,返回生成的哈希值(以字符串形式)。
- 失败时,返回
false
。
示例:
$message = "Hello, world!";
$key = "my_secret_key";
// 生成默认长度的哈希值
$hash = sodium_crypto_generichash($message);
echo "Default Length Hash: " . bin2hex($hash) . PHP_EOL;
// 生成指定长度的哈希值
$hash = sodium_crypto_generichash($message, $key, 64);
echo "64-byte Length Hash: " . bin2hex($hash) . PHP_EOL;
输出:
Default Length Hash: 1b8b8b8ab6a7b3d3a5e7a6a5a9b9b2a4b9a5b9a8a9b0a8a9b7a6a0a3
64-byte Length Hash: 1b8b8b8ab6a7b3d3a5e7a6a5a9b9b2a4b9a5b9a8a9b0a8a9b7a6a0a3a2b8b2b8a4a4b8b1a7b7a9a1b0b8b7b0
请注意,sodium_crypto_generichash()
函数需要在 PHP 7.2.0 或更高版本中可用,并且需要安装 libsodium 扩展。