hash_pbkdf2

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

hash_pbkdf2Belirtilen bir parolanın PBKDF2 anahtar türevini döndürür

Açıklama

hash_pbkdf2 ( string $algo , string $parola , string $tuz , int $yineleme , int $uzunluk = 0 , bool $ikil = false ) : string

Değiştirgeler

algo

Seçilen aşlama algoritmasının ismi ("md5", "sha256", "haval160,4" ve benzerleri). Desteklenen algoritmaların listesi hash_algos() işlevinde bulunabilir.

parola

Türetim için kullanılacak parola.

tuz

Türetim için kullanılacak tuz. Rasgele bir değer üretilmelidir.

yineleme

Türetim için dahili olarak uygulanacak yinelemelerin sayısı.

uzunluk

Çıktı dizgesinin uzunluğu. ikil true ise türetilen anahtarın bayt cinsinden uzunluğudur; false ise türetilen anahtar uzunluğunun iki katı olmalıdır (her bayt için iki harf/rakam döner).

0 ise belirtilen algoritmanın tüm çıktısı kullanılır.

ikil

true ise ham ikil veri, false ise küçük harfli onaltılıklar çıktılanır.

Dönen Değerler

ikil true ise türetilen anahtarın ham ikil gösterimi, false ise küçük harfli onaltılık gösterimi döner

Hatalar/İstisnalar

Algoritma bilinmiyorsa, yineleme sıfırdan küçük veya eşitse, uzunluk sıfırdan küçükse veya tuz çok uzunsa (INT_MAX - 4'ten büyükse), bir E_WARNING çıktılanır.

Sürüm Bilgisi

Sürüm: Açıklama
7.2.0 Kriptografik olmayan aş işlevlerinin (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) kullanımı iptal edildi.

Örnekler

Örnek 1 - hash_pbkdf2() genel kullanım örneği

<?php
$parola 
"password";
$yineleme 1000;

// openssl_random_pseudo_bytes(), random_bytes()
// veya uygun bir rasgelelik kaynağı ile rasgele bir tuz üret
$tuz openssl_random_pseudo_bytes(16);

$aş hash_pbkdf2("sha256"$parola$tuz$yineleme20);
echo 
$aş;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

120fb6cffcf8b32c43e7

Notlar

Dikkat

PBKDF2 yöntemi depolama için parolaları aşlamada kullanılabilir. Bununla birlikte, password_hash() veya CRYPT_BLOWFISH ile crypt() parola depolamaya daha uygundur.

Ayrıca Bakınız

  • crypt() - Tek yönlü dizge aşlama
  • password_hash() - Parola aşı oluşturur
  • hash() - Bir ileti aşı üretir
  • hash_algos() - Kayıtlı aşlama algoritmalarının bir listesini döndürür
  • hash_init() - Ardışık aşlama bağlamını ilklendirir
  • hash_hmac() - HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir
  • hash_hmac_file() - Bir dosyanın içeriğinden HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir
  • openssl_pbkdf2() - Generates a PKCS5 v2 PBKDF2 string