Gerando cadeias aleatórias
Publicado por Sandro Marcell 29/09/2008
[ Hits: 5.661 ]
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
Instalando o Firefox e o Thunderbird
Embaralhando aleatoriamente vetores - array shuffle
Assistente de conexão Wireless - KDialog
Rotina de Vacuum para banco de Dados Postgres
Atualizar o macOS no Mac - Opencore Legacy Patcher
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Instalando e usando o Dconf Editor, o "regedit" para Linux
Como instalar o navegador TOR no seu Linux
Instalando Zoom Client no Ubuntu 24.04 LTS
problemas com artefatos na instalação (30)
Manjaro Substituindo Ubuntu no Desktop (14)
Dificuldade em ler binário (18)
Encriptografa... as particoes com LUKS, o que poderia dar errado? (4)