random_bytes

(PHP 7)

random_bytesGenerates cryptographically secure pseudo-random bytes

Beschreibung

random_bytes ( int $length ) : string

Generates 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.
  • Auf anderen Plattformen, wird arc4random_buf() verwendet, wenn es verfügbar ist. Dies ist im Allgemeinen nur unter BSD-Derivation oder Systemen mit libbsd der Fall.
  • Schlägt obiges fehl, wird /dev/arandom verwendet, falls verfügbar.
  • Ist /dev/arandom nicht verfügbar, dann wird /dev/urandom als Fallback verwendet.
  • Ist keine der zuvor aufgezählten Quellen verfübar, wird ein Error geworfen.

Hinweis: Although this function was added to PHP in PHP 7.0, a » userland implementation is available for PHP 5.2 to 5.6, inclusive.

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

  • If an appropriate source of randomness cannot be found, an Exception will be thrown.
  • If invalid parameters are given, a TypeError will be thrown.
  • If an invalid length of bytes is given, an Error will be thrown.

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