Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gaw

Gerador continuo de Senha

Recommended Posts

Imagem Postada Olá pessoal, estou com um problema aqui, preciso de um gerador de senhas contínuos assim:

 

0;1;2;3;4;5;6;7;8;9;a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z;!;@;#;$;%;&;*;(; );[;];{;};etc...

 

eu fiz o código para teste e não funco!!!

 

Fiquei Horas tentando ver o problema e nada então venho pedir a ajuda de vocês.

 

Eis meu código:

 

<?php

function senha($nome=5){

if($numero<0) return FALSE;
if($numero>5) return FALSE;
$caracteres = array("a","b","c","d","e");
$contador = array("null","null","null","null","0");
$contador2 = array("0","0","0","0","0");
do{
for($i=0;$i<5;$i++){
echo'<input type="text" size="50" value="'.$caracteres[$i].'">';
$contador2[0]+=1;
for($e=0;$e<5;$e++){
if($contador2[$e] == 5){
$contador2[$e] = 0;
$contador2[$e+1]+=1;
if($contador[$e+1] >= 0){
$contador[$e+1]+=1;
}else{
$contador[$e+1]=0;
}
}
}
}
}while($contador[$numero-1] == 5);
echo"Concluido";
}

?>

 

Abraço a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O meu objetivo seria assim tenho um campo de texto e no VALUE dele o numero "0" e o gerador iria aumentando +1 a cada LOOP quando chegasse no } ele virasse 00 no próximo LOOP seria 01, 02 tipo aqueles programas BRUTE FORCE quando estão funcionando sabe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tu quer gerar uma senha aleatória com aqueles caracteres, É isso?

 

+/- assim:

$numcaract = 6 // número de caracteres que asenha vai ter
$caract = 'abcdefghijklmnopqrstuvxwyzABCDEFGHIJKLMNOPQRSTUVXWYZ1234567890!@#$%¨&*';
$numstr = strlen($caract);
$senha = '';
for($i=1,$i<=$numcaract,$i++){
$a = rand(0,$numstr);
$senha = $senha.$caract[$a];
}

ou

Aqui

 

 

EDIT: Li o tópico, cliquei pra responder, enquanto escrevia minha resposta você respondeu oque realmente queria...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não isso eu tenho já funcionando no meu sistema... Eu preciso mesmo é tipo aqueles campos de um programa BRUTE FORCE em funcionamento sabe 0,,1,2,3,4,5,6,7,8,9,a,b...00,01,02,03,04,05...aa,ab,ac,ad..etc... e ele para quando o numero informado na function($numero) chegue

no caso seria:

 

}}}}} -> 5 caracteres

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kra, deixa eu ver se eu entendi!

 

 

voce precisa de uma senha continua.. Quantos caracteres a senha precisa ter???

 

a senha seria tipo: 0123456789010203040506070809001002003004005006007008009 (EXEMPLO)???

 

 

vamos pensar em alguns metodos...

 

function senha(20) {} // O argumento desta funcao seria o numero de repeticoes do loop? ou o numero de caracteres?

 

EXEMPLO de 20 loops:

  • 1
  • 12
  • 123
  • 1234
  • 12345
  • 123456
  • 1234567
  • 12345678
  • 123456789
  • 1234567890
  • 1234567890a
  • 1234567890ab
  • 1234567890abc
  • 1234567890abcd
  • 1234567890abcde
  • 1234567890abcdef
  • 1234567890abcdefg
  • 1234567890abcdefgh
  • 1234567890abcdefghi
  • 1234567890abcdefghij - Senha final

Outro metodo de gerar senhas fortes (o que eu recomendo):

 

<?
$string = 'qualquer coisa';
$senha = sha1(md5($string));
echo $senha;
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O 20 seria a quantidade de caracteres. e eu preciso dos seguintes caracteres: 0123456789abcdefghijklmnopqrstuvwxyz.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo, fiz esta funcao.... axo que da pra melhorar ainda!

 

mas segue ela:

 

<?
function senha($num) {
    $string = '0123456789abcdefghijklmnopqrstuvwxyz';
    $array = str_split($string,1);

    $senha = ''; // Senha vazia ate entao
    $i = 0; // Nescessario para voltar o loop da $string
    for($x=0; $num!=$x; $x++) {
        if ($i >= 39) { // Se $i for maior que 39 ($string = 39 caracteres) volta $i para 0
            $i=0;
        }
        $senha .=$array[$i];
        $i++;
    }
    return $senha;
}
echo senha(40);
?>

 

Eu dei um echo senha(200) RETORNO:

0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz01234

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que entendi...

Seria tipo essa a ordem que ele criaria:

00 01 02 03 ... 0a 0b 0c ... 0X 0Y 0Z ... 0¨ 0& 0* ... 10 11 12 13 ... 1a 1b 1c ... 1X 1Y 1Z ... 1¨ 1& 1* ... 20 21 22 23....

 

Hum...

 

Eu acho que vais precisar de um for pra cada caractere da senha... senha com6 carcteres 6 for :S

 

Fiz um comecinho:

$numcaract = 6 // número de caracteres que asenha vai ter
$caract = 'abcdefghijklmnopqrstuvxwyzABCDEFGHIJKLMNOPQRSTUVXWYZ1234567890!@#$%¨&*';
$numstr = strlen($caract);
$senha = '';
for($e=0,$e<=$numstr,$e++){
for($i=0,$i<=$numcaract,$i++){
$senha .= $caract[$e];

}
}

Tenta dar uma olhada nisso Aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

So corrigindo as virgulas do FOR, e do $numcaract

 

<?
$numcaract = 6; // número de caracteres que asenha vai ter
$caract = 'abcdefghijklmnopqrstuvxwyzABCDEFGHIJKLMNOPQRSTUVXWYZ1234567890!@#$%¨&*';
$numstr = strlen($caract);
$senha = '';
for($e=0;$e<=$numstr;$e++) {
    for($i=0;$i<=$numcaract;$i++) {
        $senha .= $caract[$e];
    }
}

echo $senha;
?>

RETORNO:

aaaaaaabbbbbbbcccccccdddddddeeeeeeefffffffggggggghhhhhhhiiiiiiijjjjjjjkkkkkkklllllllmmmmmmmnnnnnnnooooooopppppppqqqqqqqrrrrrrrssssssstttttttuuuuuuuvvvvvvvxxxxxxxwwwwwwwyyyyyyyzzzzzzzAAAAAAABBBBBBBCCCCCCCDDDDDDDEEEEEEEFFFFFFFGGGGGGGHHHHHHHIIIIIIIJJJJJJJKKKKKKKLLLLLLLMMMMMMMNNNNNNNOOOOOOOPPPPPPPQQQQQQQRRRRRRRSSSSSSSTTTTTTTUUUUUUUVVVVVVVXXXXXXXWWWWWWWYYYYYYYZZZZZZZ1111111222222233333334444444555555566666667777777888888899999990000000!!!!!!!@@@@@@@#######$$$$$$$%%%%%%%¨¨¨¨¨¨¨&&&&&&&*******

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não FUNCO! deu esse erro

 

 

Notice: Uninitialized string offset: 62 in C:\Program Files\EasyPHP5.3.0\www\scripts\teste.php on line 69

 

Notice: Uninitialized string offset: 62 in C:\Program Files\EasyPHP5.3.0\www\scripts\teste.php on line 69

 

Notice: Uninitialized string offset: 62 in C:\Program Files\EasyPHP5.3.0\www\scripts\teste.php on line 69

 

Notice: Uninitialized string offset: 62 in C:\Program Files\EasyPHP5.3.0\www\scripts\teste.php on line 69

 

Notice: Uninitialized string offset: 62 in C:\Program Files\EasyPHP5.3.0\www\scripts\teste.php on line 69

 

Notice: Uninitialized string offset: 62 in C:\Program Files\EasyPHP5.3.0\www\scripts\teste.php on line 69

 

Notice: Uninitialized string offset: 62 in C:\Program Files\EasyPHP5.3.0\www\scripts\teste.php on line 69

 

conteúdo da linha 69 = $senha.=$caract[$e];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Incia-se antes $senha = '' ?

Se sim então muda a linah 69 para

$senha.=$caract{$e};

 

Com chaves em vez de colchetes

Foi erro meu :B

 

PS: tem certeza que é isso que tu quer?

aaaaaaabbbbbbbcccccccdddddddeeeeeeefffffffggggggghhhhhhhiiiiiiijjjjjjjkkkkkkklllllllmmmmmmmnnnnnnnooooooopppppppqqqqqqqrrrrrrrssssssstttttttuuuuuuuvvvvvvvxxxxxxxwwwwwwwyyyyyyyzzzzzzzAAAAAAABBBBBBBCCCCCCCDDDDDDDEEEEEEEFFFFFFFGGGGGGGHHHHHHHIIIIIIIJJJJJJJKKKKKKKLLLLLLLMMMMMMMNNNNNNNOOOOOOOPPPPPPPQQQQQQQRRRRRRRSSSSSSSTTTTTTTUUUUUUUVVVVVVVXXXXXXXWWWWWWWYYYYYYYZZZZZZZ1111111222222233333334444444555555566666667777777888888899999990000000
Não seria como citei no outro post:

00 01 02 03 ... 0a 0b 0c ... 0X 0Y 0Z ... 0¨ 0& 0* ... 10 11 12 13 ... 1a 1b 1c ... 1X 1Y 1Z ... 1¨ 1& 1* ... 20 21 22 23....

 

Sendo 00 o primeiro resultado, 01 o segundo... sucessivamente

Se for como falei agora o jeito que tu quer dai o script não está pronto, como falei fiz só o comecinho...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kra, eu dei uma revisada na funcao do Holt, transformei ela em uma funcao (mais facil de usar)

 

<?
function senha($num) {
    // Por: Holt
    // Revisada por: AmareshinO
    $string = 'abcdefghijklmnopqrstuvxwyzABCDEFGHIJKLMNOPQRSTUVXWYZ1234567890!@#$%¨&*';
    $chars = strlen($string);
    for($e=0;$e<=$chars;$e++) {
        for($i=0;$i!=$num;$i++) { // Aki trokei de $i<= para $i!= para nao acrescentar 1 loop a mais na chave da senha
            $senha .= $string[$e];
        }
    }
    return $senha;
}

echo senha(5);
?>

RETORNO:

aaaaabbbbbcccccdddddeeeeefffffggggghhhhhiiiiijjjjjkkkkklllllmmmmmnnnnnooooopppppqqqqqrrrrrssssstttttuuuuuvvvvvxxxxxwwwwwyyyyyzzzzzAAAAABBBBBCCCCCDDDDDEEEEEFFFFFGGGGGHHHHHIIIIIJJJJJKKKKKLLLLLMMMMMNNNNNOOOOOPPPPPQQQQQRRRRRSSSSSTTTTTUUUUUVVVVVXXXXXWWWWWYYYYYZZZZZ11111222223333344444555556666677777888889999900000!!!!!@@@@@#####$$$$$%%%%%¨¨¨¨¨&&&&&*****

Uma coisa que eu notei eh que voce usa o EasyPHP....

 

 

kra, quer um conselho??? se for pra usar Ruindows (Windows) intale o Apache, o PHP e o SQL separadamente... ou pelo menos use o Xampp [Apache Frieds - Xampp]

 

eu sempre tive pau usando o easyPHP!

 

 

masss.... lembrando: Isso eh so um conselho xD

 

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php
$charset = 'abcdefghijklmnopqrstuvxwyz';
$charset .='ABCDEFGHIJKLMNOPQRSTUVXWYZ';
$charset .='1234567890';
$charset .='!@#$%&*';
$numchar = 2; // Quantos caracteres de senha
$tamcharset = strlen($charset);
for($a=0;$a<$tamcharset;$a++){
	$senha[0] = $charset{$a};
	for($b=0;$b<$tamcharset;$b++){
		$senha[1] = $charset{$b};
		echo $senha[0].$senha[1];
		echo '<br />';
	}
}
?>

Para gerar senhas maiores eh só adicionar for()'s na mesma lógica

Igual a oque acredito realmente que queiras:

 

aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av ax aw ay az aA aB aC aD aE aF aG aH aI aJ aK aL aM aN aO aP aQ aR aS aT aU aV aX aW aY aZ a1 a2 a3 a4 a5 a6 a7 a8 a9 a0 a! a@ a# a$ a% a& a* ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bx bw by bz bA bB bC bD bE bF bG bH bI bJ bK bL bM bN bO bP bQ bR bS bT bU bV bX bW bY bZ b1 b2 b3 b4 b5 b6 b7 b8 b9 b0 b! b@ b# b$ b% b& b*

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal Muito obrigado por me ajudarem os Postscript de vocês me ajudaram muito, no sábado e domingo eu não acesso a net então peguei a lógica de vocês e consegui MAIS ou MENOS o que eu queria

 

<?php function recurse($t, $p, $[img=http-~~-//forum.imasters.com.br/public/style_emoticons/default/cool.gif]{
$string = "0123456789";
$string2 = strlen($string);
for ($i = 0; $i < $string2; ++$i) {
echo $b.$string[$i]."<br>";
if ($p < $t - 1) {
echo recurse($t, $p + 1, $b . $string[$i]);
}}}
recurse(2,0,''); ?>

 

Só tem um PROBLEMA:

 

Se eu quiser começar a mostrar as senhas em sequência a partir do "zzzz" por exemplo eu não consigo!!!

 

Alguém poderia dar uma mãozinha nessa parte?

 

Abraço!

 

Obs: Holt seu Postscript ficou 10 era oque eu queria VLW Cara!!! e AmareshinO Valeu pela insistência, muita gente desiste de Ajudar!

 

No script Acima a $B está maiuscula mas na verdade é minuscula ok!

Compartilhar este post


Link para o post
Compartilhar em outros sites

r0x galera é isso que eu to procurando mais ou menos

só que aqui ao gerar senhas de 7 caracteres trava, e da apenas para salvar só metade

então como eu posso começar a gerar a partir de um determinado numero em diante ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.