Gerando cadeias aleatórias
Publicado por Sandro Marcell 29/09/2008
[ Hits: 6.079 ]
Homepage: http://sanmarcell.wordpress.com
Simples script (em zsh) que gera cadeias utilizando letras, números, sinais, etc... de forma aleatória. Exemplos:
% ./script.sh 5
!sl[g
% ./script.sh 15
~^VnP_FVWeig51g
% ./script.sh 30
k8_aS@*R:EI2k2B_$g5ymMDSXaiQ*q
#!/bin/zsh -f
#
# Gerando cadeias aleatorias.
# Sandro Marcell (sandro_marcell@yahoo.com.br)
#
# Uso: <script.sh> ou <script.sh [valor]>
#
# Onde:
# [valor] determinara a quantidade de caracteres que comporao a cadeia.
#
# Ex.:
# % ./script.sh 30
# xZ~c9r3VN@^c=ghWCm*NIt5t7AVsgO
#
# Obs.:
# - Somente numeros sao validos para a string [valor];
# - Caso [valor] nao seja especificado, o padrao assumido e 13;
# - Se [valor] possuir espacos ou quaisquer outros caracteres que nao
# sejam numeros, os mesmos serao removidos.
# Carregando modulo de funcoes matematicas:
zmodload -i zsh/mathfunc
# Removendo caracteres invalidos:
string="$argv"
valor=$(print ${string//[^0-9]/})
# Caracteres utilizados para gerar a cadeia:
cars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!?:^~@#$%&*_+=[]/"
# Loop de controle:
for ((i=0 ; i < ${valor:-13} ; i++))
do
# Gerando cadeia:
rand=$((1 + ((int(${(c)#cars} * rand48(seed))) / (RAND_MAX + 1 ))))
print -n "$cars[$rand]"
unset rand
done
print ""
# Fim
Acelerar leitura e escrita no hd
Script de instalação de pacotes
Atualizar status do Twitter pelo terminal
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
Instalar Linux em notebook Sony Vaio VPCEG13EB (10)
Vou destruir sua infância:) (6)
Quando vocês pararam de testar distros? (24)









