PHP - random_bytes
Třída
Metoda - random_bytes
(PHP 7)
random_bytes()
generuje dostatečně bezpečný string
pseudonáhodných bajtů, které lze použít ke kryptografickým účelům.
Jako zdroj entropie se používá "getrandom(2)
":https://manpages.debian.org/…om.2.en.html
(na Linuxu) nebo "CryptGetRandom
":https://msdn.microsoft.com/…=vs.85).aspx
(na Windows), na jiných systémech nebo v případě nedostupnosti
předchozích se použije /dev/urandom
.
V případě, že není k dispozici žádný z výše uvedených zdrojů entropie k dispozici, je vyvolána výjimka.
Procedurální
- function random_bytes (int $length) : string
Parametry
Název | Datový typ | Výchozí hodnota | Popis |
---|---|---|---|
$length | int | Délka požadovaného stringu bajtů. |
Návratové hodnoty
Vrací: string
Vrací string požadované délky obsahující pseudonáhodně vygenerované bajty.
Příklady
Generování pseudonáhodného tokenu (zakódovaného do base64):
<?php
$randomBytes = random_bytes(64);
$token = base64_encode($randomBytes);
echo $token;
?>
Související manuály
- function bin2hex (string $str) : string
- function random_int () : int