PHP 8.1.0 RC 4 available for testing

hash_hkdf

(PHP 7 >= 7.1.2, PHP 8)

hash_hkdfSağlanan anahtar girdisinden HKDF anahtar türevi oluşturur

Açıklama

hash_hkdf(
    string $algo,
    string $anahtar,
    int $uzunluk = 0,
    string $bilgi = "",
    string $tuz = ""
): 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.

Bilginize:

Kriptografik olmayan aşlama algoritmalarına izin verilmez.

anahtar

Kullanılacak anahtar (ikil veri). Boş olamaz.

uzunluk

İstenen çıktının bayt cinsinden uzunluğu. En çok algoritma aş uzunluğunun 255 katı olabilir.

uzunluk olarak 0 verilirse, öntanımlı çıktı uzunluğu seçilen aş boyutunun 255 katından büyük olamaz.

bilgi

Application/context-specific bilgi dizgesi.

tuz

Türetme sırasında kullanılacak tuz.

Seçimlik olmasına rağmen, rasgele bir tuz HKDF'nin gücünü önemli ölçüde arttırır.

Dönen Değerler

Türetilen anahtarın ham ikil gösterimini içeren bir dizge, başarısızlık durumunda false döner.

Hatalar/İstisnalar

anahtar boşsa veya algo kriptografik değilse ya da uzunluk negatif veya çok (algoritma aş uzunluğunun 255 katından) büyükse, bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - hash_hkdf() örneği

<?php
// Rasgele bir anahtar ve türetme sırasında anahtarı güçlendirecek tuz üret
$girdiAnh random_bytes(32);
$tuz random_bytes(16);

// yukarıda oluşturulan girdiyi kullanılarak ayrı bir anahtar çifti türet
$şifrelemeAnh hash_hkdf('sha256'$girdiAnh32'aes-256-encryption'$tuz);
$kimlikKanıtAnh hash_hkdf('sha256'$girdiAnh32'sha-256-authentication'$salt);

var_dump(şifrelemeAnh !== $kimlikKanıtAnh); // bool(true)
?>

Yukarıdaki örnekte, şifreleme için AES-256, kimlik kanıtlama için SHA-256 kullanılarak bir anahtar çifti üretir (encrypt-then-HMAC oluşturmaya uygun)

Ayrıca Bakınız

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top