Maison  >  Article  >  développement back-end  >  Explication détaillée du générateur de nombres pseudo-aléatoires CSPRNG en PHP7

Explication détaillée du générateur de nombres pseudo-aléatoires CSPRNG en PHP7

autoload
autoloadoriginal
2021-03-19 10:56:252587parcourir

CSPRNG est un générateur de nombres pseudo-aléatoires. En tant qu'outil, les algorithmes couramment utilisés incluent MD5 ou SHA1 etc.

En PHP7, les deux fonctions CSPRNG suivantes sont introduites pour générer des entiers et des chaînes cryptographiquement sécurisés de manière multiplateforme.

  • random_bytes() - Génère des octets pseudo-aléatoires cryptographiquement sécurisés.

  • random_int() - Générez des entiers pseudo-aléatoires cryptographiquement sécurisés.

1.random_bytes()

Random_bytes() convient pour générer des mots de passe, des chaînes cryptographiquement aléatoires de n'importe quelle longueur, telles que : Générer du sel , clé ou vecteur initial.

Syntaxe :

string random_bytes ( int $length )
  • Paramètres : length - Renvoie la longueur en octets de la chaîne aléatoire

  • Valeur de retour : Renvoie le cryptage Une chaîne avec le nombre demandé d’octets aléatoires sûrs.

Exemple :

<?php
$bytes = random_bytes(5);
print(bin2hex($bytes));//随机生成
?>

2.random_int()

Il est très important que random_int() produise des résultats adaptés à utilisez un entier aléatoire crypté.

Syntaxe :

int random_int ( int $min , int $max )
  • min - Renvoie la valeur minimale, qui doit être PHP_INT_MIN ou supérieure

  • max - Renvoie la valeur maximale, il doit être inférieur ou égal à PHP_INT_MAX

Exemple :

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

Recommandé : tutoriel vidéo php tutoriel php7

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn