[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Expressoes Regulares]: senha com letras e numeros obrigatoriamente



Por que não usar o pam + cracklib?
Ele faz essa checagem automáticamente junto com a checagem da senha
desejada contra um dicionário padrão ou feito por você.

Saca só o que achei no google:

password   required    /lib/security/pam_cracklib.so minlen=8 lcredit=1
ucredit=1 dcredit=1 ocredit=1 difok=2 retry=3

This example allows you to force new passwords to have 1 lowercase, 1 ucase,
1 digit, 1 other character of some sort, and be at lest 2 characters
different from previous passwords, it allows 3 attempts the change the
password.

Ou seja, isso acima exige 1 digit, 1 maiúsculo, 1 minúsculo, um outro
caracter e também 2 diferentes do último password, no mínimo.
Uso ele em dois servidores e ajuda um bocado. Faz com que o John
basicamente não precise ser rodado a não ser em casos especiais.

Espero ter ajudado.

On 7/9/07, RicardoFunke <ricardo.debian@gmail.com> wrote:
Valeu Rafael,

Testei na minha aplicação e como você já devia esperar, funcionou! Só
tive que adicionar um .* no começo e no final da expressão, então
ficou assim:

.*([A-Za-z][0-9]|[0-9][A-Za-z]).*

Na verdade ficou assim:

(?=.{6}).*([A-Za-z][0-9]|[0-9][A-Za-z]).*

Porque essa classe java aceita esse tipo de coisa, nesse caso só vai
permitir senhas de 6 dígitos ou mais

Quem quiser entender a lógica da expressão regular
"([A-Za-z][0-9]|[0-9][A-Za-z])" basta fazer testes utilizando a opção
--color do egrep

Valeu Rafael!!!

Em 06/07/07, Rafael<jrxs@terra.com.br> escreveu:
> ([A-Za-z][0-9]|[0-9][A-Za-z])
>
> Essa expressão garante a existência de pelo menos um número e uma letra
> em qualquer sequência possível.
>
> ([\s\!-\@\[-\`\{-\~A-Za-z][0-9]|[0-9][\s\!-\@\[-\`\{-\~A-Za-z])
>
> Essa garante a presenca se números combinados com caracteres especias ou
> espacos ou letras.
>
> []s
> JRXS
>
> On Thu, 2007-07-05 at 10:52 -0300, RicardoFunke wrote:
> > Galera, nada disso funcionou, eu preciso de expressões regulares
> > legítimas sem interferência de qualquer linguagem de programação.
> >
> > Quem for fera em REGEX e puder me auxiliar com isso, eu vou agradecer muito!
> >
> > Obrigado a todos
> >
> >
> > Em 25/06/07, RicardoFunke<ricardo.debian@gmail.com> escreveu:
> > > Olá pessoal,
> > >
> > > Eu vou testar as dicas, mas não sei se todas vão funcionar, esqueci de
> > > avisar que o programa que testa as senhas é feito em java e utiliza
> > > uma classe especial java feita para Expressões Regulares.
> > >
> > > Qualquer coisa eu volto a postar
> > >
> > > Valeu!
> > >
> > > Em 23/06/07, henrique<jmhenrique@yahoo.com.br> escreveu:
> > > > --- Bruno Buys <bruno.grupos@gmail.com> escreveu:
> > > >
> > > > > RicardoFunke wrote:
> > > > > > Olá lista,
> > > > > >
> > > > > > Estou com uma aplicação que faz validação de senha por uso de
> > > > > > Expressões Regulares, estou tentando descobrir uma expressão que
> > > > > > verifica se a senha possui letras e números obrigatoriamente, ou
> > > > > seja,
> > > > > > não aceitar senha só com letras, nem só com números, somente se
> > > > > tiver
> > > > > > números e letras.
> > > > > >
> > > > > > Mas eu gostaria que o usuário tivesse a liberdade de colocar as
> > > > > letras
> > > > > > e números na posição que lhe convier e não obrigar que as letras ou
> > > > > > números tivesse uma posição fixa.
> > > > > >
> > > > > > É possível fazer esse tipo de validação com as Expressões
> > > > > Regulares?
> > > > > >
> > > > > > Alguém poderia me dizer como?
> > > > > >
> > > > > > Já tentei um horror de coisa, pesquisando em vários tutoriais na
> > > > > > internet, mas estou achando que não é possível fazer isso somente
> > > > > com
> > > > > > REGEX. Gostaria muito que alguém me provasse o contrário!
> > > > > >
> > > > > > Obrigado a todos
> > > > > >
> > > > > > --
> > > > > > Ricardo Funke Ormieres
> > > > > >
> > > > > >
> > > > > Oi Ricardo,
> > > > > Acho que dá sim. Se for com bash script eu posso ajudar.
> > > > >
> > > > >
> > > >
> > > > tipo isso abaixo?
> > > >
> > > > #!/usr/bin/perl
> > > > my $senha=shift();
> > > >
> > > > if ( $senha =~ m/^(\d+\w*[a-zA-Z]+|[a-zA-Z]+\w*\d+)\w*/){
> > > > print "$senha\n";
> > > > }
> > > > else{
> > > > print "nao deu certo, escolha outra senha. \n";
> > > > }
> > > >
> > > >
> > > > ~
> > > > ~
> > > > ~
> > > >
> > > > ===================
> > > >
> > > > henry@tulipa:~$ perl autentica.pl aaa
> > > > nao deu certo, escolha outra senha.
> > > > henry@tulipa:~$ perl autentica.pl 11223
> > > > nao deu certo, escolha outra senha.
> > > > henry@tulipa:~$ perl autentica.pl sas12112
> > > > sas12112
> > > > henry@tulipa:~$ perl autentica.pl 121asas1212
> > > > 121asas1212
> > > >
> > > >
> > > > parece bem fácil. É isso o que vc procura?
> > > >
> > > > caso queira algo mais "entendível, fiz esse outro codigo tbm:
> > > >
> > > > if (( $senha =~ m/\d/ ) && ( $senha =~ m/[a-zA-Z]/ ))
> > > >
> > > > mas ai é uma implementação da linguagem, e não necessariamente uma
> > > > unica regex. Sinceramente não sei qual das duas acima gasta mais
> > > > processamento. De acordo com a sua linguagem escolhida, compensaria
> > > > testar.
> > > >
> > > > [ ]s, e divirta-se.
> > > >  Henry.
> > > >
> > > >
> > > >
> > > >
> > > > ____________________________________________________________________________________
> > > > Novo Yahoo! Cadê? - Experimente uma nova busca.
> > > > http://yahoo.com.br/oqueeuganhocomisso
> > > >
> > > >
> > > > --
> > > > To UNSUBSCRIBE, email to debian-user-portuguese-REQUEST@lists.debian.org
> > > > with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> > > >
> > > >
> > >
> >
> >
>
>
> --
> To UNSUBSCRIBE, email to debian-user-portuguese-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
>
>





--
Moises Bezerra Estrela Rodrigues,
Graduando em Ciência da Computação na UFCG (http://www.ufcg.edu.br)
Membro do grupo Guardians (http://lcc.ufcg.edu.br)
Membro do grupo de Suporte do Laboratório de Sistemas Distribuidos -
LSD ( http://www.lsd.ufcg.edu.br )

8)



Reply to: