Sabem aquela tela de login com um botão ‘esqueci minha senha’?
Para sistemas que não criptografam a senha com MD5 (ou outro algoritmo de encriptação), basta ler a senha no banco de dados e enviar para o e-mail do usuário.
Mas se a senha é criptografada, geralmente não há como recuperá-la. É necessário criar uma senha nova e enviar para o usuário.
É para isso que serve a função abaixo. Esta função pode ser melhorada, incluindo caracteres especiais, tirando os números “1″ e “0″ e as letras “l”e “o”… enfim, cada um pode mudar conforme sua necessidade.
Antes que alguém comente, é claro que existem outras formas para geração de senha, usando array com shuffle, expressão regular, etc. Este é apenas um método, bastante simples e fácil de entender; a intenção é ser o mais didático possível.
//Gera senha aleatória no formato a9A9a9A9, com o tamanho que for definido pelo parametro length
function create_password($length = "6"){
$new_pass = "";
$kind=0;
for($i=0; $i<$length; $i++) {
// $kind=rand(1,3);
$kind++;
if ($kind>4){
$kind=1;
}
switch ($kind){
case 1:
$char=chr(rand(97,122)); //a-z
break;
case 2:
$char=chr(rand(48,57)); //0-9
break;
case 3:
$char=chr(rand(65,90)); //A-Z
break;
case 4:
$char=chr(rand(48,57)); //0-9
break;
}
$new_pass .= $char;
}
return $new_pass;
}