Gerar senhas aleatórias de qualquer tamanho

Publicado por Iago Lira (última atualização em 16/10/2017)

[ Hits: 5.887 ]

Homepage: https://notabug.org/iagolira/

Download concatena.sh

Download 1505066379.concatena.sh (versão 2)




Gera senhas aleatórias de qualquer tamanho com letras, números e caracteres especiais.

  



Versões atualizadas deste script

Versão 2 - Enviado por Iago Lira em 10/09/2017

Changelog: Agora este script gera uma wordlist.

Download 1505066379.concatena.sh


Esconder código-fonte

#!/bin/bash
#+---------------------------------+
#|Script: concatena                |
#|Autor: Francisco Iago Lira Pasos |
#|Localidade: Teresina - PI        |
#|Email: iagolirapassos@gmail.com  |
#+---------------------------------+
export minusculo=(a b c d e f g h i j k l m n o p q r s t u v w x y z)
export maiusculo=(A B C D E F G H I J K L M N O P Q R S T U V W X Y Z)
export especiais=(\! \@ \# \$ \% \( \) \- \_ \+ \= \{ \[ \^ \~ \] \} \/ \? \: \; \. \> \< \, \\ \| \*)
export numeros=(0 1 2 3 4 5 6 7 8 9)
export all=(${especiais[@]} ${minusculo[@]} ${maiusculo[@]} ${numeros[@]})
export Mnu=(${minusculo[@]} ${maiusculo[@]})
export Mnun=(${minusculo[@]} ${maiusculo[@]} ${numeros[@]})
export permutacao1=${#maiusculo[@]}
export permutacao2=${#minusculo[@]}
export permutacao3=${#numeros[@]}
export permutacao4=${#especiais[@]}
export permutacao5=$((${#minusculo[@]}+${#maiusculo[@]}))
export permutacao6=$((${#minusculo[@]}+${#maiusculo[@]}+${#numeros[@]}))
export permutacao7=$((${#especiais[@]}+${#minusculo[@]}+${#maiusculo[@]}+${#numeros[@]}))


factorial()
{
factorial=1
    if [ $1 > 1 ]; then
     cnt=0
     while :
     do
      let cnt=$cnt+1
      factorial=$(echo "$factorial*$cnt" | bc -l)  
      [ $cnt == $1 ] && break
     done
    else
        echo 1
    fi
}; factorial $permutacao

clear
echo  "
         +-----------------------------------+
         | Escolha as combinações:           |
         |                                   |
         | (1) Maiúsculas                    |
         | (2) Minúsculas                    |
         | (3) Números                       |
         | (4) Caracteres especiais          |
         | (5) Maiúsculas+Minúsculas         |
         | (6) Maiúsculas+Minúsculas+Números |
         | (7) Todas as combinações          |
         +-----------------------------------+"
read -p "Digite a opção desejada:" opcao
read -p "Quantas combinações você deseja (>1)?: " combinacao
         
for (( i=1; i<=$combinacao; i++ ))
do
case $opcao in
   1) echo -n "${maiusculo[$(((RANDOM%$(($permutacao1-1)))))]}" ;;
   2) echo -n "${minusculo[$(((RANDOM%$(($permutacao2-1)))))]}" ;;
   3) echo -n "${numeros[$(((RANDOM%$(($permutacao3-1)))))]}" ;;
   4) echo -n "${especiais[$(((RANDOM%$(($permutacao4-1)))))]}" ;;
   5) echo -n "${Mnu[$(((RANDOM%$(($permutacao5-1)))))]}" ;;
   6) echo -n "${Mnun[$(((RANDOM%$(($permutacao6-1)))))]}" ;;
   7) echo -n "${all[$(((RANDOM%$(($permutacao7-1)))))]}" ;;
   *) echo "INVALID NUMBER!" ;;
esac
done
echo

Scripts recomendados

Acompanhamento de log squid com hora real

Angelinux Scripts - Teste de desempenho da sua maquina!

Verificar atividade de serviços no Tomcat

Script de Backup para FITA DAT usando "tar"

Descompactar vários arquivos ao mesmo tempo de um diretório específico


  

Comentários
[1] Comentário enviado por thiago_ferreira em 24/08/2017 - 16:55h

Bom! Rodou sem problemas.

[2] Comentário enviado por FazedorDeM**** em 07/09/2017 - 17:01h

Muito bom, vai ser bem útil pra mim, só deu um problema que quando coloco este arquivo numa pasta com outros arquivos, ele começa a mostrar o nome dos arquivos na senha.
Na vida temos uma única certeza...

Todos nós já quebramos um sistema.

[3] Comentário enviado por iagolira em 10/09/2017 - 14:58h


[2] Comentário enviado por FazedorDeM**** em 07/09/2017 - 17:01h

Muito bom, vai ser bem útil pra mim, só deu um problema que quando coloco este arquivo numa pasta com outros arquivos, ele começa a mostrar o nome dos arquivos na senha.
Na vida temos uma única certeza...

Todos nós já quebramos um sistema.


Rpz já corrigi esse problema, vou lançar uma versão melhorada é só aguardar.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts