hash_pbkdf2

(PHP 5 >= 5.5.0, PHP 7)

hash_pbkdf2锟斤拷锟斤拷锟斤拷锟结供锟斤拷锟斤拷锟� PBKDF2 锟斤拷钥锟斤拷锟斤拷

说锟斤拷

hash_pbkdf2 ( string $algo , string $password , string $salt , int $iterations [, int $length = 0 [, bool $raw_output = FALSE ]] ) : string

锟斤拷锟斤拷

algo

锟斤拷希锟姐法锟斤拷锟狡o拷锟斤拷锟斤拷 md5锟斤拷sha256锟斤拷haval160,4 锟饺★拷 锟斤拷支锟街碉拷锟姐法锟藉单锟斤拷渭锟� hash_algos()锟斤拷

password

要锟斤拷锟叫碉拷锟斤拷锟斤拷锟斤拷锟诫。

salt

锟斤拷锟叫碉拷锟斤拷时锟斤拷使锟矫碉拷"锟斤拷"锟斤拷锟斤拷锟街涤︼拷锟斤拷锟斤拷锟斤拷锟斤拷锟缴的★拷

iterations

锟斤拷锟叫碉拷锟斤拷时锟侥碉拷锟斤拷锟斤拷锟斤拷锟斤拷

length

锟斤拷钥锟斤拷锟斤拷锟斤拷锟捷的筹拷锟饺★拷锟斤拷锟� raw_outputTRUE锟斤拷 锟剿诧拷锟斤拷为锟斤拷钥锟斤拷锟斤拷锟斤拷锟捷碉拷锟街节筹拷锟饺★拷锟斤拷锟� raw_outputFALSE锟斤拷 锟剿诧拷锟斤拷为锟斤拷钥锟斤拷锟斤拷锟斤拷锟捷碉拷锟街节筹拷锟饺碉拷 2 锟斤拷锟斤拷锟斤拷为 1 锟斤拷锟街斤拷锟斤拷锟捷讹拷应锟斤拷 2 锟斤拷 16 锟斤拷锟狡碉拷锟街凤拷锟斤拷

锟斤拷锟斤拷锟斤拷锟� 0锟斤拷锟斤拷使锟斤拷锟斤拷选锟姐法锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫★拷锟�

raw_output

锟斤拷锟斤拷为 TRUE 锟斤拷锟皆硷拷锟斤拷锟斤拷锟斤拷锟斤拷荩锟� 锟斤拷锟斤拷为 FALSE 锟斤拷锟叫⌒� 16 锟斤拷锟斤拷锟街凤拷锟斤拷锟斤拷

锟斤拷锟斤拷值

锟斤拷锟� raw_output 锟斤拷锟斤拷为 TRUE锟斤拷 锟津返伙拷原始锟斤拷锟斤拷锟斤拷锟斤拷锟捷憋拷示锟斤拷锟斤拷息摘要锟斤拷 锟斤拷锟津返伙拷 16 锟斤拷锟斤拷小写锟街凤拷锟斤拷锟斤拷式锟斤拷示锟斤拷锟斤拷息摘要锟斤拷

锟斤拷锟斤拷锟届常

锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷禄锟斤拷锟斤拷 E_WARNING锟斤拷 指锟斤拷锟斤拷未知锟斤拷锟姐法锟斤拷 iterations 小锟节碉拷锟斤拷 0锟斤拷 length 小锟节碉拷锟斤拷 0 锟斤拷锟斤拷 salt 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 INT_MAX - 4锟斤拷锟斤拷

锟斤拷锟斤拷锟斤拷志

锟芥本 说锟斤拷
7.2.0 锟斤拷锟斤拷支锟街非硷拷锟杰的癸拷希锟斤拷锟斤拷锟斤拷adler32锟斤拷crc32锟斤拷crc32b锟斤拷fnv132锟斤拷fnv1a32锟斤拷fnv164锟斤拷fnv1a64锟斤拷joaat锟斤拷锟斤拷

锟斤拷锟斤拷

Example #1 hash_pbkdf2() 锟斤拷锟教o拷锟斤拷锟斤拷锟矫凤拷

<?php
$password 
"password";
$iterations 1000;

// 使锟斤拷 openssl_random_pseudo_bytes()锟斤拷random_bytes()锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟绞碉拷锟斤拷锟斤拷锟斤拷锟斤拷珊锟斤拷锟�
// 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟绞硷拷锟斤拷锟�
$salt openssl_random_pseudo_bytes(16MCRYPT_DEV_URANDOM);

$hash hash_pbkdf2("sha256"$password$salt$iterations20);
echo 
$hash;
?>

锟斤拷锟斤拷锟斤拷锟教碉拷锟斤拷锟斤拷锟斤拷锟斤拷冢锟�

120fb6cffcf8b32c43e7

注锟斤拷

Caution

为锟剿帮拷全锟斤拷锟斤拷锟斤拷锟斤拷锟绞癸拷锟� PBKDF2 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟侥斤拷锟叫癸拷希锟斤拷锟斤拷锟斤拷俅娲拷锟� 锟斤拷锟角革拷锟矫的凤拷锟斤拷锟斤拷使锟斤拷 password_hash() 锟斤拷锟斤拷 锟斤拷锟斤拷使锟斤拷 CRYPT_BLOWFISH 锟姐法锟斤拷锟斤拷 crypt() 锟斤拷锟斤拷锟斤拷

锟轿硷拷

  • crypt() - 锟斤拷锟斤拷锟街凤拷锟斤拷散锟斤拷
  • password_hash() - 锟斤拷锟斤拷锟斤拷锟斤拷锟缴拷校锟絟ash锟斤拷
  • hash() - 锟斤拷锟缴癸拷希值 锟斤拷锟斤拷息摘要锟斤拷
  • hash_algos() - 锟斤拷锟斤拷锟斤拷注锟斤拷墓锟较o拷惴拷斜锟�
  • hash_init() - 锟斤拷始锟斤拷锟斤拷锟斤拷锟斤拷希锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷
  • hash_hmac() - 使锟斤拷 HMAC 锟斤拷锟斤拷锟斤拷锟缴达拷锟斤拷锟斤拷钥锟侥癸拷希值
  • hash_hmac_file() - 使锟斤拷 HMAC 锟斤拷锟斤拷锟酵革拷锟斤拷锟侥硷拷锟斤拷锟斤拷锟斤拷锟斤拷锟缴达拷锟斤拷钥锟侥癸拷希值
  • openssl_pbkdf2() - 锟斤拷锟斤拷一锟斤拷 PKCS5 v2 PBKDF2 锟街凤拷锟斤拷