Generar contraseña en PHP

[Utilice la función en PHP rand()para seleccionar un índice de matriz aleatorio para generar una contraseña aleatoria]

Podemos rand()generar una contraseña aleatoria en PHP usando la función. rand()La función devuelve un número entero aleatorio del rango de argumentos proporcionado. Esta función toma dos valores enteros como parámetros. Podemos definir una cadena de letras y números en la que podemos combinar una contraseña. Indexe una matriz de números aleatorios para seleccionar una letra o un número aleatorio. Podemos recorrer rand()la función para crear contraseñas de la longitud requerida.

Por ejemplo, cree una variable $comby almacene una cadena que contenga todas las letras minúsculas y mayúsculas y números del 0 al 10 como abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890. Utilice array()la función para crear una matriz $pass. $combAlmacene la longitud de la cadena $combLenen la variable. Cree un forbucle y repita el bucle ocho veces. Dentro del bucle, use rand()la función y 0las $combLenvariables como parámetros y almacene el valor en $nla variable. Luego, $comb[$n]asigne a $passla matriz. Fuera del bucle, use implode()la función para convertir la matriz en una cadena.

En el siguiente ejemplo, generamos $combuna contraseña aleatoria a partir de una combinación almacenada en la variable. rand()La función selecciona un $combnúmero entero aleatorio de 0 a la longitud de la cadena. El número entero aleatorio se utiliza como índice para seleccionar un valor alfanumérico aleatorio de la combinación. El bucle se ejecuta ocho veces y se seleccionan ocho valores alfanuméricos aleatorios, lo que da como resultado una contraseña aleatoria. Consulte el manual de PHP para obtener rand()más información sobre las funciones.

Código de muestra:

# php 7.x
<?php
 $comb = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
 $pass = array(); 
 $combLen = strlen($comb) - 1; 
 for ($i = 0; $i < 8; $i++) {
    
    
     $n = rand(0, $combLen);
     $pass[] = $comb[$n];
 }
 print(implode($pass)); 
?>

Producción:

aPsQWlzh

[ Generar contraseñas aleatorias usando openssl_random_pseudo_bytes()y funciones en PHP ]bin2hex()

Podemos usar openssl_random_pseudo_bytes()la función para generar una cadena de bytes pseudoaleatoria. Podemos especificar un valor entero como argumento de la función para definir la longitud del número requerido de bytes para generar. bin2hex()La función convierte datos binarios a representación hexadecimal. Podemos usar esta función para convertir una cadena de bytes generada aleatoriamente en una representación hexadecimal y formar una contraseña. Este método genera una contraseña aleatoria que consta de valores alfanuméricos.

Por ejemplo, cree una variable $bytesy asígnele una función openssl_random_pseudo_bytes(). Especificar 4como argumento de la función. Crea otra variable $passy bin2hex()escribe la función en ella. Especifique variables en la función $bytes. Utilice echola declaración para imprimir $passvariables.

En el siguiente ejemplo, openssl_random_pseudo_bytes()la función 4representa el número de bytes que se generarán aleatoriamente. bin2hex()La función convierte bytes a números hexadecimales equivalentes. La longitud de la contraseña generada aleatoriamente es 8 porque la conversión hexadecimal de una cadena de 4 bytes es 8. Consulte el manual de PHP para obtener bin2hex()más información sobre las funciones.

Código de muestra:

#php 7.x
<?php
$bytes = openssl_random_pseudo_bytes(4);
$pass = bin2hex($bytes);
echo $pass;
?>

Producción:

ed203eef

[ Genere una contraseña aleatoria a partir de una cadena alfanumérica determinada en PHP usando funciones substr()y ]str_shuffle()

Podemos str_shuffle()mezclar aleatoriamente una cadena determinada usando el método. Esta función codifica una cadena de letras y números minúsculas y mayúsculas del 0 al 9. Por tanto, forma una permutación de todas las situaciones posibles. Podemos usar substr()la función para procesar la cadena mezclada para seleccionar una parte de sus caracteres. Por tanto, podemos generar una contraseña aleatoria.

Por ejemplo, cree una variable $comby almacene un valor de cadena en ella abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789. Utilice una variable str_shuffle()para $combmezclarla y almacenarla en $shfluna variable. Luego, use substr()funciones y $shflvariables, 0y 8como parámetros. Almacene la función en $pwduna variable e imprima la variable.

En el siguiente ejemplo, utilizamos el mismo conjunto de valores alfanuméricos que en el primer método. Las contraseñas generadas aleatoriamente constan de estos valores alfanuméricos. str_shuffle()La función mezcla valores alfanuméricos y crea permutaciones aleatorias. Usamos y en la función para seleccionar ocho caracteres del primer índice de la reproducción aleatoria substr(). Por tanto, genera una contraseña aleatoria de ocho dígitos.08

Ejemplo de código:

#php 7.x
<?php
$comb = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$shfl = str_shuffle($comb);
$pwd = substr($shfl,0,8);
echo $pwd;
?>

Producción:

jenZq3lY

Supongo que te gusta

Origin blog.csdn.net/weixin_50251467/article/details/131777513
Recomendado
Clasificación