shell-script-pt
[Top][All Lists]
Advanced

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

Re: [shell-script] CRIAR SENHA


From: aurelio
Subject: Re: [shell-script] CRIAR SENHA
Date: Mon, 5 May 2003 10:46:00 -0300 (ART)

aes,

 --- Thobias Salazar Trevisan <address@hidden> escreveu: > 
> On Fri, 2 May 2003, Marco Eloy wrote:
> > não achei ainda um modo de gerar uma senha aleatória

aproveitando o gancho, pra quem já usa as funções ZZ
(http://aurelio.net/zz), basta usar o zzsenha, que é
praticamente essa função do thobias, mas modificada
pra não precisar do 'seq', e com uns fru-frus a mais :)

# zzsenha --help

gera uma senha aleatória de N caracteres formada por letras e números
obs.: a senha gerada não possui caracteres repetidos
uso: zzsenha [n]     (padrão n=6)
ex.: zzsenha
     zzsenha 8


# zzsenha
iAhnuJ

# zzsenha
OxJwFT

# zzsenha 8
euy89RMm

# zzsenha 15
OYxARclhjadPs0S

# zzsenha 15
F8glpm2s6LzhVxn


# type zzsenha
zzsenha is a function
zzsenha ()
{
    zzzz -z $1 zzsenha && return;
    local n
alpha="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    n=6;
    [ "$1" ] && n=`echo "$1" | sed 's/[^0-9]//g'`;
    [ $n -gt 62 ] && {
        echo "zzsenha: O tamanho máximo é 62";
        return
    };
    while [ $n -ne 0 ]; do
        n=$((n-1));
        pos=$((RANDOM%${#alpha}+1));
        echo -n "$alpha" | sed "s/\(.\)\{$pos\}.*/\1/";
        alpha=`echo $alpha | sed "s/.//$pos"`;
    done | tr -d '\012';
    echo
}

> gera_passwd(){
> # quais caracteres a senha pode ter
>
caract="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
> # for de i número de caracteres da senha
> for i in `seq 0 "${1:-8}"`;do
> # aqui pegamos o resto da divisao de $RANDOM pelo número de
> # caracteres que tem na variavem $caract, ou seja,
> # vamos pegando caracteres aleatorios da variavel $caract
> C="$(($RANDOM%${#caract}))"; echo -n "$caract" |\
> # pegamos o caracter na posicao N
> sed "s/\(^.\{$C\}\)\(.\{1\}\)\(.*\)/\2/"
> done;echo
> }



=====
-- 
ATENCAO: o www.verde666.org vai morrer, use www.aurelio.net
ATTENTION: www.verde666.org is no more, use www.aurelio.net

_______________________________________________________________________
Yahoo! Mail
O melhor e-mail gratuito da internet: 6MB de espaço, antivírus, acesso POP3, 
filtro contra spam. 
http://br.mail.yahoo.com/


reply via email to

[Prev in Thread] Current Thread [Next in Thread]