hash_pbkdf2()函数是PHP中的内置函数,用于生成提供的密码的PBKDF2 key 。
用法:
string hash_pbkdf2( $algo, $pass, $salt, $itr, $len, $raw_opt )
参数:该函数接受上面提到的六个参数,并在下面进行描述。
$algo:它是必需的参数,用于指定所选的哈希算法(例如“md5”,“sha256”,“sha1”)。
$pass:此参数用于指定用于派生的密码。
$salt:此参数用于推导,该值应随机生成。
$itr:此参数计算内部迭代的次数。
$len:此参数用于保存输出字符串的长度。
$raw_opt:如果此参数设置为True,则其输出将为原始二进制数据,如果此参数设置为false,则输出将为小写十六进制。
返回值:此函数以小写的十六进制形式返回包含计算的消息摘要的字符串。
以下示例程序旨在说明PHP中的hash_pbkdf2()函数:
程序1:
$gfg = "GeeksforGeeks";
$iterations = 142;
// Generate a random IV using
// openssl_random_pseudo_bytes()
// random_bytes() or another
// suitable source of randomness.
$salt = openssl_random_pseudo_bytes(16);
// Using hash_pbkdf2 function
$hash = hash_pbkdf2("md5",
$gfg, $salt, $iterations, 30);
// Display result
echo $hash;
?>
输出:
f0ebbbf59869d76f946c4b15340761
程序2:
$gfg = "Contribute1234";
$iterations = 100;
// Generate a random IV using
// openssl_random_pseudo_bytes()
// random_bytes() or another
// suitable source of randomness.
$salt = openssl_random_pseudo_bytes(8);
// Using hash_pbkdf2 function
$hash = hash_pbkdf2("md5",
$gfg, $salt, $iterations, 20, false);
// Display result
echo $hash;
?>
输出:
715b385158045923923c