Home > Backend Development > PHP7 > Detailed explanation of pseudo-random number generator CSPRNG in PHP7

Detailed explanation of pseudo-random number generator CSPRNG in PHP7

autoload
Release: 2023-02-17 21:04:02
Original
2613 people have browsed it

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 )
Copy after login
  • 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));//随机生成
?>
Copy after login

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 )
Copy after login
  • min - Returns the minimum value, it must be PHP_INT_MIN or a greater value

  • max - Returns the maximum value , it must be less than or equal to PHP_INT_MAX

Example:

<?php
print(random_int(100, 999));//随机生成100-999的数
echo "<br/>";
print(random_int(-1000, 0));//随机生成-100至0的数
?>
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template