Script muito simples para gerar senhas seguras:
<?php
function gerar_senha($tamanho, $maiusculas, $minusculas, $numeros, $simbolos){
$ma = "ABCDEFGHIJKLMNOPQRSTUVYXWZ"; // $ma contem as letras maiúsculas
$mi = "abcdefghijklmnopqrstuvyxwz"; // $mi contem as letras minusculas
$nu = "0123456789"; // $nu contem os números
$si = "!@#$%¨&*()_+="; // $si contem os símbolos
if ($maiusculas){
// se $maiusculas for "true", a variável $ma é embaralhada e adicionada para a variável $senha
$senha .= str_shuffle($ma);
}
if ($minusculas){
// se $minusculas for "true", a variável $mi é embaralhada e adicionada para a variável $senha
$senha .= str_shuffle($mi);
}
if ($numeros){
// se $numeros for "true", a variável $nu é embaralhada e adicionada para a variável $senha
$senha .= str_shuffle($nu);
}
if ($simbolos){
// se $simbolos for "true", a variável $si é embaralhada e adicionada para a variável $senha
$senha .= str_shuffle($si);
}
// retorna a senha embaralhada com "str_shuffle" com o tamanho definido pela variável $tamanho
return substr(str_shuffle($senha),0,$tamanho);
}
?>
Exemplos de como usar esta função
Retornar a senha com 10 caracteres como maiúsculas, minusculas, números e símbolos:
<?php
echo gerar_senha(10, true, true, true, true);
?>
Retornar a senha com 8 caracteres como maiúsculas, minusculas e números:
<?php
echo gerar_senha(8, true, true, true, false);
?>
Retornar a senha com 6 caracteres como maiúsculas e minusculas:
<?php
echo gerar_senha(6, true, true, false, false);
?>