Make sure the info parameter contains random elements.
From: https://soatok.blog/2021/11/17/understanding-hkdf/(PHP 7 >= 7.1.2, PHP 8)
hash_hkdf — Sağlanan anahtar girdisinden HKDF anahtar türevi oluşturur
algo
       Seçilen aşlama algoritmasının ismi (örn, "sha256").
       Desteklenen algoritmaların listesi
       hash_hmac_algos() işlevinde bulunabilir.
      
Bilginize:
Kriptografik olmayan aş işlevlerine izin verilmez.
anahtarKullanı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.
      
bilgiApplication/context-specific bilgi dizgesi.
tuzTü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.
Türetilen anahtarın ham ikil gösterimini içeren bir dizge döner.
   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
   ValueError istisnası oluşur.
  
| Sürüm: | Açıklama | 
|---|---|
| 8.0.0 | Artık hata durumunda ValueError istisnası
        oluşuyor. Evvelce falsedöner ve birE_WARNINGiletisi çıktılanırdı. | 
Ö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', $girdiAnh, 32, 'aes-256-encryption', $tuz);
$kimlikKanıtAnh = hash_hkdf('sha256', $girdiAnh, 32, '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)
Make sure the info parameter contains random elements.
From: https://soatok.blog/2021/11/17/understanding-hkdf/