Geração de senhas
Publicado por Perfil removido (última atualização em 08/07/2011)
[ Hits: 5.558 ]
Estou inciando com Python e aí está minha primeira classe.
Serve para gerar senhas de 7 tipos:
1- int = Inteiro
2- char = Letra
3- schar = Caractere Especial
4- intchar = Inteiro + Letra
5- intschar = Inteiro + Caractere Epecial
6- charschar = Letra + Caractere Epecial
7- fullmode = Inteiro + Letra + Caractere Epecial
Modo de usar:
size = 15
p = Password()
print('INTMODE...............: ', p.generate_int(size))
print('CHARMODE .............: ', p.generate_char(size))
print('SCHARMODE.............: ', p.generate_schar(size))
print('INTCHARMODE...........: ', p.generate_int_char(size))
print('INTSCHARMODE..........: ', p.generate_int_schar(size))
print('CHARSCHARMODE.........: ', p.generate_char_schar(size))
print('FULLMODE .............: ', p.generate_full(size))
Bem, é isso.
[]s
#encoding: UTF-8 ''' Created on 10/05/2011 @author: Orlando Xavier (ox@orlandoxavier.com) ''' import random class Password(object): ''' Gera a senha a partir do tipo e tamanho Os tipos podem ser 7: 1- int = Inteiro 2- char = Letra 3- schar = Caractere Especial 4- intchar = Inteiro + Letra 5- intschar = Inteiro + Caractere Epecial 6- charschar = Letra + Caractere Epecial 7- fullmode = Inteiro + Letra + Caractere Epecial ''' # Inteiros intmode = ['1','2','3','4','5','6','7','8','9'] # Caracteres charmode = ['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', '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'] # Caracteres Especiais scharmode = ['!','@','#','$','%','&amp;','*','(',')','=','+', ',','.',';','?','/','\\','|',':',';'] # Todos os modos juntos fullmode = ['1','2','3','4','5','6','7','8','9', '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', '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', '!','@','#','$','%','&amp;','*','(',')','=','+', ',','.',';','?','/','\\','|',':',';'] # Lista auxiliar: serve para fazer decisões durante a geração de alguns modos list_int_aux = [0,1,2,3,4,5,6,7,8,9] def __init__(self): ''' Constructor ''' def generate_int(self, size): ''' Gera a senha com inteiros ''' if size > 0: generated = '' loop = 0 while (loop < size): random.shuffle(self.intmode) generated += self.intmode[0] loop += 1 return generated else: return False def generate_char(self, size): ''' Gera a senha com caracteres ''' if size > 0: generated = '' loop = 0 while (loop < size): random.shuffle(self.charmode) generated += self.charmode[0] loop += 1 return generated else: return False def generate_schar(self, size): ''' Gera a senha com caracteres especiais ''' if size > 0: generated = '' loop = 0 while (loop < size): random.shuffle(self.scharmode) generated += self.scharmode[0] loop += 1 return generated else: return False def generate_int_char(self, size): ''' Gera a senha com caracteres comuns e caracteres ''' if size > 0: generated = '' loop = 0 while (loop < size): random.shuffle(self.list_int_aux) if self.list_int_aux[0] % 2 == 0: random.shuffle(self.intmode) generated += self.intmode[0] else: random.shuffle(self.charmode) generated += self.charmode[0] loop += 1 return generated else: return False def generate_int_schar(self, size): ''' Gera a senha com inteiros e caracteres especiais ''' if size > 0: generated = '' loop = 0 while (loop < size): random.shuffle(self.list_int_aux) if self.list_int_aux[0] % 2 == 0: random.shuffle(self.intmode) generated += self.intmode[0] else: random.shuffle(self.scharmode) generated += self.scharmode[0] loop += 1 return generated else: return False def generate_char_schar(self, size): ''' Gera a senha com caracteres comuns e caracteres especiais ''' if size > 0: generated = '' loop = 0 while (loop < size): random.shuffle(self.list_int_aux) if self.list_int_aux[0] % 2 == 0: random.shuffle(self.charmode) generated += self.charmode[0] else: random.shuffle(self.scharmode) generated += self.scharmode[0] loop += 1 return generated else: return False def generate_full(self, size): ''' Gera a senha com todos os tipos de caractere ''' if size > 0: generated = '' loop = 0 while (loop < size): random.shuffle(self.fullmode) generated += self.fullmode[0] loop += 1 return generated else: return False
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Criar entrada no GRUB para uma ISO Linux (5)
Ruído no Microfone (ALC287 - AMD Ryzen 5 7535HS) no Debian 12.9 (15)