Crie senhas aleatórias com php
Neste post vou construir uma função em php que permite criar senhas aleatórias que podem ser utilizadas em qualquer lugar. Dentro deste script vou explicar algumas funções php muito úteis para quem precisa trabalhar strings.Sigam os comentários...
function geraSenha(){
# A variável tamanho corresponde ao número de caracteres que a senha terá.
# Eu escolhi o tamanho 8 pois é mais utilizado, mas você pode customizar este valor
$tamanho = 8;
# Aqui eu criei variaveis com conteudos diferentes para entrar na senha.
# Vou utilizar estas variaveis radomicamente, cada uma contem uma série de caracter diferente.
$car_especiais = '!@#$%&*()_-+={[}]?';
$car_numericos = '0123456789';
$car_letras = 'abcdefghijklmnopqrstuvwxyz';
$car_maiusc = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$carac = '';
# Desta forma eu inicio minha senha sempre com um caracter especial
$senha = substr($car_especiais, rand(0,strlen($car_especiais)-1), 1);
# Agora vou fazer um loop preenchendo caracter por caracter até que chegue ao tamanho desejado.
for($iop = 0; $iop < $tamanho - 1; $iop++){
$tmp = rand(1,4);
if($tmp==1){
$carac = $car_especiais;
}
elseif($tmp==2){
$carac = $car_numericos;
}
elseif($tmp==3){
$carac = $car_letras;
}
elseif($tmp==4){
$carac = $car_maiusc;
}
else{
$carac = $car_letras;
}
$senha .= substr($carac, rand(0,strlen($carac)-1), 1);
}
return $senha ;
}
Vamos falar agora sobre algumas funções do php presente neste código:
- substr($string, $pos_inicial, $pos_final) - Esta função retorna o conteúdo existente em uma string, iniciando no "pos_inicial" e terminando em "pos_final". Se "pos_final" não for definido, o fim é o fim de "string";
Ex.:
substr('ABCDEF', 0, 1); // return A
substr('ABCDEF', 3, 2); // return DE
substr('ABCDEF', 4); // return EF
- strlen($string) - Esta função retorna a quantidade de caracteres de uma string;
Ex.:
strlen('ASDFGH'); // return 6
strlen('henrique'); // return 8
- rand($min, $max) - Esta função retorna um número randomico (aleatório) entre os números "min" e "max";
Ex.:
rand(0,5); // pode retornar 5, 4, 3, 2, 1 ou 0
rand(20,21); // pode retornar 20 ou 21
Em breve escreverei outros tutoriais com mais funções php que podem ser bem úteis quando sabemos utiliza-las.
Se existe alguma função que você ainda tenha dúvida, entre em contato ou deixe seu comentário.
Forte abraço a todos e até o próximo post.
Ótima dica!