Gaw 5 Denunciar post Postado Julho 23, 2010 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
André D. Molin 15 Denunciar post Postado Julho 23, 2010 Não entendi o "gerador de senhas continuas". Compartilhar este post Link para o post Compartilhar em outros sites
Gaw 5 Denunciar post Postado Julho 23, 2010 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
Holt 1 Denunciar post Postado Julho 23, 2010 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
Gaw 5 Denunciar post Postado Julho 23, 2010 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
AmareshinO 0 Denunciar post Postado Julho 23, 2010 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
Gaw 5 Denunciar post Postado Julho 23, 2010 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
AmareshinO 0 Denunciar post Postado Julho 23, 2010 E os caracteres precisam ser continuos??? ou podem ser aleatorios? Compartilhar este post Link para o post Compartilhar em outros sites
Gaw 5 Denunciar post Postado Julho 23, 2010 Continuos Compartilhar este post Link para o post Compartilhar em outros sites
AmareshinO 0 Denunciar post Postado Julho 23, 2010 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
Holt 1 Denunciar post Postado Julho 23, 2010 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
AmareshinO 0 Denunciar post Postado Julho 23, 2010 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
Gaw 5 Denunciar post Postado Julho 23, 2010 Isso mesmo que eu quero!!! vo testa!!!! Compartilhar este post Link para o post Compartilhar em outros sites
AmareshinO 0 Denunciar post Postado Julho 23, 2010 Ótimo! heheheheh nao deixe de postar os resultados em! abraços! Compartilhar este post Link para o post Compartilhar em outros sites
Gaw 5 Denunciar post Postado Julho 23, 2010 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
Holt 1 Denunciar post Postado Julho 23, 2010 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
AmareshinO 0 Denunciar post Postado Julho 23, 2010 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
Holt 1 Denunciar post Postado Julho 23, 2010 <?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
Gaw 5 Denunciar post Postado Julho 26, 2010 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
Paz 0 Denunciar post Postado Outubro 26, 2010 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