[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/