PHP
加密 | Cryptography

openssl_pbkdf2

openssl_pbkdf2

(PHP 5 >= 5.5.0, PHP 7)

openssl_pbkdf2 — 生成一个PKCS5 v2 PBKDF2字符串

描述

string openssl_pbkdf2 ( string $password , string $salt , int $key_length , int $iterations [, string $digest_algorithm = "sha1" ] )

openssl_pbkdf2()计算PBKDF2(基于密码的密钥推导函数2),PKCS5 v2中定义的密钥推导函数。

参数

password

生成派生密钥的密码。

salt

PBKDF2建议使用至少64位(8字节)的低温盐。

key_length

所需输出键的长度。

iterations

所需的迭代次数。»NIST推荐至少10,000个

digest_algorithm

来自openssl_get_md_methods()的可选散列或摘要算法。默认为SHA-1。

返回值

返回原始二进制字符串或失败时返回FALSE

例子

示例#1 openssl_pbkdf2()示例

<?php $password = 'yOuR-pAs5w0rd-hERe'; $salt = openssl_random_pseudo_bytes(12 $keyLength = 40; $iterations = 10000; $generated_key = openssl_pbkdf2($password, $salt, $keyLength, $iterations, 'sha256' echo bin2hex($generated_key)."\n"; echo base64_encode($generated_key)."\n"; ?>