La méthode utilisée par le système Linux pour générer des nombres aléatoires est la suivante : elle peut être obtenue via la variable d'environnement système [$RANDOM], telle que [echo $RANDOM]. RANDOM a une plage limitée de nombres aléatoires, qui peuvent être résolus en ajoutant une chaîne cryptée après le nombre aléatoire.
Il existe de nombreuses façons de générer des nombres aléatoires dans le système Linux. En voici quelques-unes :
(apprentissage recommandé : linux. tutoriel)
Méthode 1 : Implémentation via la variable d'environnement système ($RANDOM)
[root@test ~]# echo $RANDOM 11595 [root@test ~]# echo $RANDOM 21625
La plage de nombres aléatoires de RANDOM est de 0 à 32767, donc le cryptage n'est pas très bien . Il peut être résolu en ajoutant une chaîne cryptée (c'est-à-dire une chaîne liée à la génération du mot de passe) après le nombre aléatoire, et enfin en effectuant l'opération md5sum ensemble et en interceptant les n derniers chiffres du résultat. De cette manière, il ne peut pas être basé. sur la plage aléatoire 0 ~ 32767 Devinez le résultat spécifique.
Exemple :
[root@test ~]# echo "$RANDOM"|md5sum|cut -c 5-15 4eaf70019cc
Méthode 2 : Générer des nombres aléatoires via openssl
Exemple :
[root@test ~]# openssl rand -base64 8 yB0maNWRoQw=
Laissez le nombre be En combinant des caractères majuscules et minuscules et en ajoutant des caractères spéciaux, un grand nombre de chiffres peut être obtenu. De tels nombres aléatoires sont très sûrs.
Méthode 3 : obtenir des nombres aléatoires dans le temps (date)
Exemple :
[root@test ~]# date +%s%N 1523402619479946400 [root@test ~]# date +%s%N 1523402622015235600
Méthode 4 : coordonner avec /dev/urandom chksum génère des nombres aléatoires
[root@test ~]# head /dev/urandom|cksum 2866845253 2890 [root@test ~]# head /dev/urandom|cksum 2131526544 2440
/dev/random device stocke les données en temps réel de l'environnement d'exploitation actuel du système.
Il peut être considéré comme la valeur unique du système à un moment donné et peut donc être utilisé comme métadonnées aléatoires. Nous pouvons lire les données à l'intérieur en lisant le fichier. Les données de l'appareil /dev/urandom sont les mêmes que celles de random. Cependant, il s’agit d’un générateur de nombres aléatoires non bloquant et l’opération de lecture ne provoquera pas de blocage.
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!