Generates cryptographic random integers that are suitable for use where unbiased results are critical, such as when shuffling a deck of cards for a poker game.
The sources of randomness used for this function are as follows:
On Windows, CryptGenRandom will always be used. As of PHP 7.2.0, the CNG-API will always be used instead.
On Linux, the getrandom(2) syscall will be used if available.
On other platforms, /dev/urandom will be used.
If none of the aforementioned sources are available, then an Exception will be thrown.
Although this function was added to PHP in PHP 7.0, a userland implementation is available for PHP 5.2 to 5.6, inclusive.
The lowest value to be returned, which must be PHP_INT_MIN or higher.
The highest value to be returned, which must be less than or equal to PHP_INT_MAX.
Returns a cryptographically secure random integer in the range min to max, inclusive.
Exceptions and Errors
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 max is less than min, an Error will be thrown.