Jump to content

Archived

This topic is now archived and is closed to further replies.

Biel.

Gerador de senha

Recommended Posts

Boa tarde a todos. Direto ao ponto.

Abaixo temos três geradores de senhas.

Na tela você vê algo do tipo:


1 senha - 821323342

2 senha - 519795854

3 senha - 964147631


Quero criar apenas 1 gerador de senha que mostre na tela o

mesmo resultado que os três 3 scripts, sem precisar repetir o script três vezes.

Nota: Quero muito que exiba 100 linhas e não três e quando eu atualizar o navegador será exibido 100 senhas, uma diferente da outra. Toda vez então que o navegador for atualizado será exibido novas senhas.


<?php function gerarsenha01 ($limit){
$str = "123456789";
$maximo = strlen ($str)-1;
$ret = '';
for($i = 0;
$i < $limit;
$i++):
$ret .= $str{mt_rand(0,$maximo)};
endfor;
return ($ret);
}
echo "1 senha - ".gerarsenha01 (9);
?>

<br />

<?php function gerarsenha02 ($limit){
$str = "123456789";
$maximo = strlen ($str)-1;
$ret = '';
for($i = 0;
$i < $limit;
$i++):
$ret .= $str{mt_rand(0,$maximo)};
endfor;
return ($ret);
}
echo "2 senha - ". gerarsenha02 (9);
?>

<br />

<?php function gerarsenha03 ($limit){
$str = "123456789";
$maximo = strlen ($str)-1;
$ret = '';
for($i = 0;
$i < $limit;
$i++):
$ret .= $str{mt_rand(0,$maximo)};
endfor;
return ($ret);
}
echo "3 senha - ".gerarsenha03 (9);
?>






Share this post


Link to post
Share on other sites

<?php

function getSenhas($numero_senhas = 3, $numero_caracteres = 6)
{

   $senhas = array();
   for($i=0; $i < $numero_senhas; $i++ ){
	    $senhas[] = substr(rand(0000000000,9999999999),0,$numero_caracteres);   

   }
	return  $senhas;
}

$senhas = getSenhas(3, 6);

echo $senhas[0].'<br>';
echo $senhas[1].'<br>';
echo $senhas[2];


?>

se quiser complicar a senha, basta fazer isso:

 

 

$senhas[] = substr(md5(rand(0000000000,9999999999)),0,$numero_caracteres);

Share this post


Link to post
Share on other sites


/*

* Cria senhas numericas apartir de dois parametros

* @param $Tamanho INT = Tamanho da Senha

* @param $Quantidade_Senhas INT = Tamanho da Senha padrão 1

*/

function CriarSenha($Tamanho = 8, $Quantidade_Senhas = 1){

 

if($Quantidade_Senhas == 0):

die(utf8_decode("Ops, e necessário informar a quantidade minima para geração das senhas."));

exit(0);

else:

 

$Senha = array();

 

for( $criarSenha=0; $criarSenha < $Quantidade_Senhas; $criarSenha++ ):

for($repeat=0; $repeat < $Tamanho; $repeat++):

$Senha[$criarSenha][] = rand(0,9);

endfor;

endfor;

 

$IndicesSenhas =1;

 

foreach($Senha as $Keys => $Valores):

echo "{$IndicesSenhas} Senha - " . $Senha = implode('',$Valores) . '<br />';

$IndicesSenhas++;

endforeach;

 

 

endif;

}

 

CriarSenha(20);

Share this post


Link to post
Share on other sites
paulinhosupriano e ivanferrer esqueci de dizer que é pra gerar senhas aleatorias entre numeros e letras tipo :




<?php function gerarsenha01 ($limit){
$str = "123456789asdfghjkl"; // <- gera senha com 9 carac com nº e letras
$maximo = strlen ($str)-1;
$ret = '';
for($i = 0;
$i < $limit;
$i++):
$ret .= $str{mt_rand(0,$maximo)};
endfor;
return ($ret);
}
echo "1 senha - ".gerarsenha01 (9);
?>




Share this post


Link to post
Share on other sites
<?php

/**
* Função para gerar senhas aleatórias
*
* @author    Thiago Belem <contato@thiagobelem.net>
*
* @param integer $tamanho Tamanho da senha a ser gerada
* @param boolean $maiusculas Se terá letras maiúsculas
* @param boolean $numeros Se terá números
* @param boolean $simbolos Se terá símbolos
*
* @return string A senha gerada
*/
function geraSenha($tamanho = 8, $maiusculas = true, $numeros = true, $simbolos = false)
{
$lmin = 'abcdefghijklmnopqrstuvwxyz';
$lmai = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$num = '1234567890';
$simb = '!@#$%*-';
$retorno = '';
$caracteres = '';

$caracteres .= $lmin;
if ($maiusculas) $caracteres .= $lmai;
if ($numeros) $caracteres .= $num;
if ($simbolos) $caracteres .= $simb;

$len = strlen($caracteres);
for ($n = 1; $n <= $tamanho; $n++) {
$rand = mt_rand(1, $len);
$retorno .= $caracteres[$rand-1];
}
return $retorno;
}

Fonte: http://blog.thiagobelem.net/gerando-senhas-aleatorias-com-php/

Autor: Thiago Belem

Share this post


Link to post
Share on other sites

Com algumas modificações fica assim.

<?php

/**
*
* Função para gerar senhas aleatórias
* @param integer $tamanho Tamanho da senha a ser gerada
* @param integer $QuantidadeSenhas Quantidade de senha a ser gerada por padrão e 1
* @param boolean $simbolos Se terá símbolos
* @param boolean $maiusculas Se terá letras maiúsculas
* @param boolean $numeros Se terá números
*
* @return string A senha gerada
*/
function geraSenha($tamanho = 8,$QuantidadeSenhas = 1,$simbolos = false, $maiusculas = true, $numeros = true)
{

if($QuantidadeSenhas <= 0):
	die(utf8_decode("Ops, e necessário Informar a quantidade de senhas a serem geradas."));
	exit(0);
else:

	$lmin = 'abcdefghijklmnopqrstuvwxyz';
	$lmai = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
	$num = '1234567890';
	$simb = '!@#$%*-';
	$retorno = '';
	$caracteres = '';

	$caracteres .= $lmin;
	$caracteres .= ( $maiusculas ) ? $lmai : '';
	$caracteres .= ( $numeros ) ? $num : '';
	$caracteres .= ( $simbolos ) ? $simb : '';
	$len = strlen($caracteres);
	$indiceSenha = 1;

		for($q =0; $q < $QuantidadeSenhas; $q++):
			
			for ($n = 1; $n <= $tamanho; $n++):
				$rand = mt_rand(1, $len);
				$retorno .= $caracteres[$rand-1];
			endfor;
			echo "{$indiceSenha} Senha -> [" .$retorno . ']<br />';
			$retorno = null;
			$indiceSenha++;
		endfor;
endif;
}

geraSenha(8);
echo '<hr />';
geraSenha(8,5);

Share this post


Link to post
Share on other sites

 

Com algumas modificações fica assim.

<?php

/**
*
* Função para gerar senhas aleatórias
* @param integer $tamanho Tamanho da senha a ser gerada
* @param integer $QuantidadeSenhas Quantidade de senha a ser gerada por padrão e 1
* @param boolean $simbolos Se terá símbolos
* @param boolean $maiusculas Se terá letras maiúsculas
* @param boolean $numeros Se terá números
*
* @return string A senha gerada
*/
function geraSenha($tamanho = 8,$QuantidadeSenhas = 1,$simbolos = false, $maiusculas = true, $numeros = true)
{

if($QuantidadeSenhas <= 0):
	die(utf8_decode("Ops, e necessário Informar a quantidade de senhas a serem geradas."));
	exit(0);
else:

	$lmin = 'abcdefghijklmnopqrstuvwxyz';
	$lmai = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
	$num = '1234567890';
	$simb = '!@#$%*-';
	$retorno = '';
	$caracteres = '';

	$caracteres .= $lmin;
	$caracteres .= ( $maiusculas ) ? $lmai : '';
	$caracteres .= ( $numeros ) ? $num : '';
	$caracteres .= ( $simbolos ) ? $simb : '';
	$len = strlen($caracteres);
	$indiceSenha = 1;

		for($q =0; $q < $QuantidadeSenhas; $q++):
			
			for ($n = 1; $n <= $tamanho; $n++):
				$rand = mt_rand(1, $len);
				$retorno .= $caracteres[$rand-1];
			endfor;
			echo "{$indiceSenha} Senha -> [" .$retorno . ']<br />';
			$retorno = null;
			$indiceSenha++;
		endfor;
endif;
}

geraSenha(8);
echo '<hr />';
geraSenha(8,5);

Paulinho Parabéns! Você entende mesmo do assunto. Problema resolvido. Obrigado!

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.