(PHP 5 >= 5.3.0, PHP 7, PHP 8)
openssl_random_pseudo_bytes — Yarı-rasgele bayt dizesi üretir
uzunluk
karakterlik bir dizge döndürür.
Ayrıca, yarı-rastgele baytları üretmek için kriptografik olarak güçlü bir algoritma kullanılmışsa güçlü_sonuç
bağımsız değişkeninde bu bilgi de döner. false
değeri nadirdir, ancak bazı sistemler bozulmuş veya eski olabilir.
uzunluk
İstenen dizgenin uzunluğu. 2147483647
'den (dahil) küçük, pozitif bir tamsayı olmalıdır. PHP, bu bağımsız değişkenden bir pozitif tamsayı elde etmek için gerekli tür dönüşümünü yapacaktır.
güçlü_sonuç
Güçlü bir algoritma kullanılmışsa bu bağımsız değişkende true
döner. Bir hata oluşursa bu değer null
olacaktır (örneğin, GPG parolası kullanımı güvenlidir).
İşlem başarılı olursa üretilen dizge döner.
openssl_random_pseudo_bytes() başarısızlık durumunda bir Exception örneği oluşturur.
Sürüm: | Açıklama |
---|---|
8.0.0 | güçlü_sonuç artık null olabiliyor. |
7.4.0 | İşlev artık başarısızlık durumunda false döndürmüyor, bunun yerine bir Exception örneği oluşturuyor. |
Örnek 1 - openssl_random_pseudo_bytes() örneği
<?php
for ($i = 1; $i <= 4; $i++) {
$bytes = openssl_random_pseudo_bytes($i, $cstrong);
$hex = bin2hex($bytes);
echo "Uzunluklar: Bayt: $i ve Onaltılık: " . strlen($hex) . PHP_EOL;
var_dump($hex);
var_dump($cstrong);
echo PHP_EOL;
}
?>
Yukarıdaki örnek şuna benzer bir çıktı üretir:
Uzunluklar: Bayt: 1 ve Onaltılık: 2 string(2) "42" bool(true) Uzunluklar: Bayt: 2 ve Onaltılık: 4 string(4) "dc6e" bool(true) Uzunluklar: Bayt: 3 ve Onaltılık: 6 string(6) "288591" bool(true) Uzunluklar: Bayt: 4 ve Onaltılık: 8 string(8) "ab86d144" bool(true)