CSPRNG is a pseudo-random number generator. As a tool, commonly used algorithms include MD5
or SHA1
, etc.
In PHP7, the following two CSPRNG functions are introduced to generate cryptographically secure integers and strings in a cross-platform way.
random_bytes()
- Generate cryptographically secure pseudo-random bytes.
random_int()
- Generate cryptographically secure pseudo-random integers.
1.random_bytes()
Random_bytes() is suitable for generating passwords, cryptographically random strings of any length, such as : Generate salt, key or initial vector.
Syntax:
string random_bytes ( int $length )
Parameters: length - Returns the byte length of the random string
Return value: Returns encryption A string with the requested number of safe random bytes.
Example:
<?php $bytes = random_bytes(5); print(bin2hex($bytes));//随机生成 ?>
2.random_int()
It is very important that random_int() produces results suitable for use encrypted random integer.
Syntax:
int random_int ( int $min , int $max )
min - Returns the minimum value, it must be PHP_INT_MIN or a greater value
Example:
<?php print(random_int(100, 999));//随机生成100-999的数 echo "<br/>"; print(random_int(-1000, 0));//随机生成-100至0的数 ?>
Recommended: php video tutorial php7 tutorial
The above is the detailed content of Detailed explanation of pseudo-random number generator CSPRNG in PHP7. For more information, please follow other related articles on the PHP Chinese website!