random_bytes
(PHP 7, PHP 8)
random_bytes — Generates cryptographically secure pseudo-random bytes
Beschreibung
$length
): stringGenerates an arbitrary length string of cryptographic random bytes that are suitable for cryptographic use, such as when generating salts, keys or initialization vectors.
Die Zufallsquellen, die für diese Funktion verwendet werden, sind folgende:
- Unter Windows wird immer » CryptGenRandom() verwendet. Seit PHP 7.2.0 wird stattdessen immer » CNG-API verwendet.
- Unter Linux wird der Syscall » getrandom(2) verwendet, wenn er verfügbar ist.
- Auf anderen Plattformen wird /dev/urandom verwendet.
- Ist keine der zuvor aufgezählten Quellen verfübar, wird ein Error geworfen.
Hinweis: Obwohl diese Funktion erst mit PHP 7.0.0 in PHP hinzugefügt wurde, gibt es » Userland-Implementierungen für PHP 5.2 bis einschließlich 5.6.
Parameter-Liste
-
length
-
The length of the random string that should be returned in bytes.
Rückgabewerte
Returns a string containing the requested number of cryptographically secure random bytes.
Fehler/Exceptions
Beispiele
Beispiel #1 random_bytes() example
<?php
$bytes = random_bytes(5);
var_dump(bin2hex($bytes));
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
string(10) "385e33f741"
Siehe auch
- random_int() - Generates cryptographically secure pseudo-random integers
- openssl_random_pseudo_bytes() - Generate a pseudo-random string of bytes
- bin2hex() - Wandelt Binär-Daten in ihre hexadezimale Entsprechung um