openssl_random_pseudo_bytes

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

openssl_random_pseudo_bytesYarı-rasgele bayt dizesi üretir

Açıklama

openssl_random_pseudo_bytes(int$uzunluk, bool&$güçlü_sonuç = null): string

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.

Bağımsız Değişkenler

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).

Dönen Değerler

İşlem başarılı olursa üretilen dizge döner.

Hatalar/İstisnalar

openssl_random_pseudo_bytes() başarısızlık durumunda bir Exception örneği oluşturur.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0güç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.

Örnekler

Ö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)

Ayrıca Bakınız

  • random_bytes() - Get cryptographically secure random bytes
  • bin2hex() - Bir ikil verinin onaltılık gösterimini elde eder
  • crypt() - Tek yönlü dizge aşlama
  • random_int() - Get a cryptographically secure, uniformly selected integer
To Top