牛牛在线工具

sodium_crypto_pwhash()

收录 8868 个 PHP 函数,含用途说明与用法示例。

sodium_crypto_pwhash()

生成密码哈希,并且可以通过配置参数来增加哈希的安全性

函数名称:sodium_crypto_pwhash() 适用版本:PHP 7.2.0及以上版本 函数描述:sodium_crypto_pwhash()函数用于生成密码哈希,并且可以通过配置参数来增加哈希的安全性。 用法: string sodium_crypto_pwhash( int $length, string $password, string $salt, int $opslimit, int $memlimit ) 参数: $length:生成的哈希值的长度,以字节为单位。 $password:要进行哈希的原始密码。 $salt:用于增加密码哈希安全性的盐值,必须是16字节长的字符串。 $opslimit:操作限制参数,用于控制哈希计算的时间和资源开销。较高的值会增加计算时间,提高哈希的安全性。 $memlimit:内存限制参数,用于控制哈希计算时使用的内存量。较高的值会增加内存使用量,提高哈希的安全性。 返回值: 成功生成密码哈希时,返回生成的哈希值,类型为字符串。 失败时,返回false。 示例: $password = "myPassword123"; $salt = random_bytes(SODIUM_CRYPTO_PWHASH_SALTBYTES); $opslimit = SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE; $memlimit = SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE; $hash = sodium_crypto_pwhash( SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_BYTES, $password, $salt, $opslimit, $memlimit ); if ($hash !== false) { echo "Password hash generated successfully: " . bin2hex($hash); } else { echo "Failed to generate password hash."; } 在上面的示例中,我们首先生成一个随机的盐值,然后使用sodium_crypto_pwhash()函数生成密码的哈希值。最后,我们检查返回值,如果生成成功,则将哈希值以十六进制字符串的形式输出,否则输出失败信息。请注意,示例中的SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE和SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE是操作限制和内存限制的推荐默认值,可以根据具体需求进行调整。