Geração de senhas
Publicado por Perfil removido (última atualização em 08/07/2011)
[ Hits: 5.648 ]
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
Calculadora interativa simples
Calcular a data do Carnaval e da Páscoa
Calculo da area de um triangulo (introdutório)
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Dica para encontrar diversos jogos Indies criativos
Instalando Discord no Debian 13
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Software livre - será que eu estou tão errado assim? (10)
Boot do PosRog so funciona em notebook (1)