Gerando cadeias aleatórias
Publicado por Sandro Marcell 29/09/2008
[ Hits: 6.149 ]
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
Instalação do sublime text 3 no Ubuntu 16.04
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Instalar Ubuntu com Btrfs + LUKS de forma fácil
Habilitando "hotcorner" no Ubuntu
Zen Kernel no Arch Linux (instalar e remover)
Como instalar e remover o kernel Liquorix
Fazendo o controle de Xbox 360 USB funcionar no One Piece Pirate Warriors 4 (Arch Linux/Steam)
Executar um programa em Rust (2)
Não consigo publicar screenshots no Viva o Linux [RESOLVIDO] (5)









