PHP: Hypertext Preprocessor (original) (raw)

random_bytes

(PHP 7, PHP 8)

random_bytes — Get cryptographically secure random bytes

Description

As the returned bytes are selected completely randomly, the resulting string is likely to contain unprintable characters or invalid UTF-8 sequences. It may be necessary to encode it before transmission or display.

The randomness generated by this function is suitable for all applications, including the generation of long-term secrets, such as encryption keys.

The sources of randomness in the order of priority are as follows:

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

Parameters

length

The length of the random string that should be returned in bytes; must be 1 or greater.

Return Values

A string containing the requested number of cryptographically secure random bytes.

Errors/Exceptions

Changelog

Version Description
8.2.0 In case of a CSPRNG failure, this function will now throw aRandom\RandomException. Previously a plainException was thrown.

Examples

Example #1 random_bytes() example

<?php $bytes = random_bytes(5); var_dump(bin2hex($bytes)); ?>

The above example will output something similar to:

See Also