Geração de senhas
Publicado por Perfil removido (última atualização em 08/07/2011)
[ Hits: 5.506 ]
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
Validador e gerador de CPF em Python
Aprendendo a fazer equações em Python
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Linux Mint nao reconhece segundo monitor. (0)
É possível baixar o dicionário pt-br para /usr/share/dict no Linux Min... (1)