¿Cómo generar una contraseña aleatoria simple a partir de una string dada usando PHP?

En este artículo, veremos cómo generar una contraseña aleatoria usando la string dada. Le hemos dado una string y la tarea es generar una contraseña aleatoria a partir de ella.

Ejemplo:

Input:  abgADKL123
Output: abgADKL123

Input:  geeksforgeeks
Output:    egksegsfroeke

Para lograr esto, utilizamos los siguientes enfoques.

Enfoque 1: En este enfoque, usamos la función PHP rand() y creamos una variable temporal, y usando for loop creamos caracteres aleatorios a partir de la string dada y concatenamos ese carácter a la variable temporal. A continuación se muestra la implementación de este enfoque.

código PHP:

PHP

<?php
     
// Function to generate password from 
// given string
function get_password($str, $len = 0) {
      
    // Variable $pass to store password
    $pass = "";
      
    // Variable $str_length to store 
    // length of the given string
    $str_length = strlen($str);
   
    // Check if the $len is not provided
    // or $len is greater than $str_length
    // then assign $str_length to $len
    if($len == 0 || $len > $str_length){
        $len = $str_length;
    }
   
    // Iterate $len times so that the 
    // resulting string's length is 
    // equal to $len
    for($i = 0;  $i < $len; $i++){
          
        // Concatenate random character 
        // from $str with $pass
        $pass .=  $str[rand(0, $str_length)];
    }
    return $pass;
}
   
   
// Print password of length 5 from 
// the given string
$str = "GeeksForGeeks";
echo get_password($str, 5) . "\n<br/>";
   
// Print password of length 15 from
// the given string
$str = 
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789";
echo get_password($str, 15) ."\n<br/>";
   
// Print password if the length 
// is not given
echo get_password($str) . "\n<br/>";
   
?>

Producción:

skGse
iWwf9jWZZE9ZL7O
GhRQ8zK4wpX93srUj1LhjsBEeBwBwo4Bh43RyZeSFZbwjVoonkKBgfXiBrEpY

Enfoque 2: en este enfoque, usamos la función PHP str_shuffle() , y luego usamos la función substr() para extraer la parte de la string dada.

código PHP:

PHP

<?php
     
// Function to generate password from
// given string
function get_password($str, $len = 0) {
      
    // Variable $pass to store password
    $pass = "";
     
    // Variable $str_length to store
    // length of the given string
    $str_length = strlen($str);
   
    // Check if the $len is not provided
    // or $len is greater than $str_length
    // then assign $str_length into $len
    if($len == 0 || $len > $str_length){
        $len = $str_length;
    }
   
    // Shuffle the string 
    $pass = str_shuffle($str);
         
    // Extract the part of string
    $pass = substr($pass, 0, $len);
     
    return $pass;
}
   
// Print password of length 5 from
// the given string
$str = "GeeksForGeeks";
echo get_password($str) . "\n<br/>";
   
// Print password of length 15 from
// the given string
$str = 
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789";
echo get_password($str, 15) ."\n<br/>";
   
// Print password if the length is
// not given
echo get_password($str) . "\n<br/>";
   
?>

Producción:

oeFssGkeGrkee
rxIhAjCi47wgW1z
r4LZQqlOFGU36i7gEAtzwsnduNXhHKD92ajpxBJc1MRvVmbyeokPIWfCTSY85

Publicación traducida automáticamente

Artículo escrito por gfgking y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *