(PHP 5 >= 5.5.0, PHP 7)
hash_pbkdf2 — �������ṩ����� PBKDF2 ��Կ����
$algo
, string $password
, string $salt
, int $iterations
[, int $length
= 0
[, bool $raw_output
= FALSE
]] ) : string
algo
��ϣ�㷨���ƣ����� md5��sha256��haval160,4 �ȡ� ��֧�ֵ��㷨�嵥��μ� hash_algos()��
password
Ҫ���е��������롣
salt
���е���ʱ��ʹ�õ�"��"�����ֵӦ����������ɵġ�
iterations
���е���ʱ�ĵ���������
length
��Կ�������ݵij��ȡ���� raw_output
Ϊ TRUE
��
�˲���Ϊ��Կ�������ݵ��ֽڳ��ȡ���� raw_output
Ϊ FALSE
��
�˲���Ϊ��Կ�������ݵ��ֽڳ��ȵ� 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() ���̣������÷�
<?php
$password = "password";
$iterations = 1000;
// ʹ�� openssl_random_pseudo_bytes()��random_bytes()�������������ʵ���������ɺ���
// �����������ʼ����
$salt = openssl_random_pseudo_bytes(16, MCRYPT_DEV_URANDOM);
$hash = hash_pbkdf2("sha256", $password, $salt, $iterations, 20);
echo $hash;
?>
�������̵���������ڣ�
120fb6cffcf8b32c43e7
Ϊ�˰�ȫ���������ʹ�� PBKDF2 �������������Ľ��й�ϣ������ٴ洢��
���Ǹ��õķ�����ʹ�� password_hash() ����
����ʹ�� CRYPT_BLOWFISH
�㷨����
crypt() ������