• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

karva

[PHP] Mais um sistema para gerar passwords

10 mensagens neste tópico

function criaPass ($num) {
$charset = array ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0');
$r = count($charset);
for ($i=0 ; $i<=$num ; $i++) {

$esc = rand(0, $r);
$esc = $charset[$esc];

echo $esc;

}
}

Onde $num e o numero de caracteres para a password gerada

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

function criaPass ($num,$echo=false) {
$charset = array ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'que', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0');
$dummy=$charset;
foreach($dummy as $item) if(!is_numeric($item)) $charset[]=strtoupper($item);
unset($dummy);

$newstr="";
$r = count($charset);
for ($i=0 ; $i<=$num ; $i++) $newstr.=$charset[rand(0, $r)];

if($echo) echo $newstr;
return $newstr;
}

ps: o "que" é um capa.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aqui vai outro, este é tem caracteres especiais para passwords mais seguras:

DEMO

<div align="center">
<h3><font color=#616161>Coloca um numero 5 a 15 caracteres para a tua password:</font></h3>
<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
<label>
<input name="numero" type="text" class="style5" value="<? echo $_POST["numero"]; ?>" size="3" />
</label>
<label>
<input name="nv_pass" type="submit" class="style5" id="nv_pass" value="Nova Password" />
</label>

</form>
<?
if ($_POST["nv_pass"]){
if ($_POST["numero"] >= 5 and $_POST["numero"] <= 15 ){
	$caracter_esp[1] = "!";
	$caracter_esp[2] = "&";
	$caracter_esp[3] = "?";
	$caracter_esp[4] = "@";
	function ascii($str) {
		$caracter = chr($str);
		return $caracter;
	} 
	for ($num = 1; $num <= $_POST["numero"]; $num++){
		$randomi = rand(1, 4);
		switch($randomi):
			case 1:
				$caracter = ascii(rand(97, 122));
			break;
			case 2:
				$caracter = ascii(rand(48, 57));
			break;
			case 3:
				$caracter = ascii(rand(65, 90));
			break;
			case 4:
				$caracter = $caracter_esp[rand(1, 4)];
			break;
		endswitch;
		echo '<font size="5" color="#40BF99" face="Arial">'.$caracter.'</font>';
	}
}else{
	echo '<font color="#FF0000">Não colocas-te um numero entre 5 a 15 caracteres!</font>';
}
}
?>
</div>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ou tiras o campo password e ao registar geras uma password ou entao com Ajax ou assim, uma coisa destas com 1 butao.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
<?php
function rand_pwd($num)
{
    $caracteres = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
    $max = strlen($caracteres) - 1;

    $pwd = null;

    for ($i=0; $i<6; $i++)
    {
        $pwd .= $caracteres{mt_rand(0, $max)};
    }

    return $pwd;
}
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora