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

Detailed explanation of pseudo-random number generator CSPRNG in PHP7

Mar 19, 2021 am 10:56 AM

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!

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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)