Aprenda Como Gerar Senhas Aleatórias e Seguras com PHP
Pode que em algum momento quando estiver desenvolvendo alguma aplicação web necessite gerar uma senha aleatória, única e segura com PHP. E no tutorial de hoje vou te ensinar como fazer isso.
A melhor forma de ensinar algo é através da prática, portanto vamos ao exemplo.
Crie uma função chamada por exemplo generatePassword() e essa função em tem a responsabilidade de devolver a senha sempre que for utilizada.
Segue o código da função + documentação:
/**
* Gera senhas aleatórias
*
* @param int $qtyCaraceters quantidade de caracteres na senha, por padrão 8
* @author Carlos Ferreira <[email protected]>
* @return String
*/
function generatePassword($qtyCaraceters = 8)
{
//Letras minúsculas embaralhadas
$smallLetters = str_shuffle('abcdefghijklmnopqrstuvwxyz');
//Letras maiúsculas embaralhadas
$capitalLetters = str_shuffle('ABCDEFGHIJKLMNOPQRSTUVWXYZ');
//Números aleatórios
$numbers = (((date('Ymd') / 12) * 24) + mt_rand(800, 9999));
$numbers .= 1234567890;
//Caracteres Especiais
$specialCharacters = str_shuffle('[email protected]#$%*-');
//Junta tudo
$characters = $capitalLetters.$smallLetters.$numbers.$specialCharacters;
//Embaralha e pega apenas a quantidade de caracteres informada no parâmetro
$password = substr(str_shuffle($characters), 0, $qtyCaraceters);
//Retorna a senha
return $password;
}
Agora para gerar a senha basta chamar a função generatePassword(), exemplo:
echo generatePassword();//Resultado aleatório com 8 caraceters
Ou, especificando a quantidade de caracters:
echo generatePassword(10);//Senha com 10 caraceters
Espero que este post tenha te ajudado! 🙂
Abraços []’s
Pode que em algum momento quando estiver desenvolvendo alguma aplicação web necessite gerar uma senha aleatória, única e segura com PHP. E no tutorial de hoje vou te ensinar como fazer isso.
A melhor forma de ensinar algo é através da prática, portanto vamos ao exemplo.
Crie uma função chamada por exemplo generatePassword() e essa função em tem a responsabilidade de devolver a senha sempre que for utilizada.
Segue o código da função + documentação:
/** * Gera senhas aleatórias * * @param int $qtyCaraceters quantidade de caracteres na senha, por padrão 8 * @author Carlos Ferreira <[email protected]> * @return String */ function generatePassword($qtyCaraceters = 8) { //Letras minúsculas embaralhadas $smallLetters = str_shuffle('abcdefghijklmnopqrstuvwxyz'); //Letras maiúsculas embaralhadas $capitalLetters = str_shuffle('ABCDEFGHIJKLMNOPQRSTUVWXYZ'); //Números aleatórios $numbers = (((date('Ymd') / 12) * 24) + mt_rand(800, 9999)); $numbers .= 1234567890; //Caracteres Especiais $specialCharacters = str_shuffle('[email protected]#$%*-'); //Junta tudo $characters = $capitalLetters.$smallLetters.$numbers.$specialCharacters; //Embaralha e pega apenas a quantidade de caracteres informada no parâmetro $password = substr(str_shuffle($characters), 0, $qtyCaraceters); //Retorna a senha return $password; }
Agora para gerar a senha basta chamar a função generatePassword(), exemplo:
echo generatePassword();//Resultado aleatório com 8 caraceters
Ou, especificando a quantidade de caracters:
echo generatePassword(10);//Senha com 10 caraceters
Espero que este post tenha te ajudado! 🙂
Abraços []’s