Neste tutorial, examinaremos várias maneiras de gerar strings aleatórios em bash. Essa funcionalidade pode ser útil ao criar nomes de usuário, senhas ou dados de sementes.
Método 1: Hash MD5
O primeiro método que podemos usar para gerar uma string aleatória no bash é o MD5 Checksums. Bash possui a variável aleatória de $, que produz um número aleatório. Podemos colocar esse valor para md5sum para obter uma string aleatória.
Ilustrar:
eco $ aleatório | md5sum | cabeça -C 20; eco;A variável de $ aleatória é sempre aleatória. Como resultado, a soma de verificação do MD5 é sempre aleatória.
Método 2: UUID
Você também pode usar o gerador de kernel uuid em/proc/sys/kernel/aleatom/uuid. Isso dará a você um valor hexadecimal exclusivo que você pode converter em uma string aleatória usando o comando SED e Head:
Por exemplo:
gato/proc/sys/kernel/aleatória/uuid | sed 's/[-] // g' | cabeça -C 20; eco;Método 3: Dispositivos Pseudo
Você ouviu a frase: “Tudo no Linux é um arquivo.”Um dos conceitos que tornam essa afirmação verdadeira é a capacidade de expressar dispositivos como arquivos.
Os arquivos localizados em /dev são conhecidos como dispositivos pseudo; Eles agem como pontes entre o kernel e o hardware. Um dos arquivos neste diretório é o arquivo uradom.
O arquivo urandom fornece uma interface para acessar o gerador de números aleatórios do kernel. Portanto, podemos usá -lo para gerar uma string aleatória, conforme ilustrado abaixo:
gato /dev /urandom | tr -dc '[: alfa:]' | Dobra -w $ 1: -20 | Cabeça -n 1Passamos a saída de Urandom para TR, que gera valores alfanuméricos e depois dobra os valores com a largura de até 20 caracteres. Finalmente, temos uma corda forrada com a cabeça -n.
Para obter vários valores de uma só vez, altere o valor da cabeça -n para o número de linhas necessárias.
gato /dev /urandom | tr -dc '[: alfa:]' | Dobra -w $ 1: -20 | Cabeça -n 5Método 4: Base64
Você também pode usar o utilitário base64 para gerar uma string aleatória. Por exemplo, usando a variável Random $, podemos fazer:
eco $ aleatório | base64 | cabeça -C 20; ecoMétodo 5: OpenSSL Pseudo -Random Bytes
O comando openssl rand permite que você gere bytes aleatórios com base no tipo especificado. Esses tipos incluem valores Base63 e Hex.
Por exemplo:
OpenSSL rand -hex 20Ou use base64 como:
OpenSSL rand -Base64 21Conclusão
Para finalizar, o Bash fornece vários utilitários que você pode usar para gerar strings aleatórios. Portanto, tudo o que você precisa fazer é combinar várias ferramentas e desenvolver uma maneira inteligente de obter cordas aleatórias que atendam às suas necessidades.