Geração de senhas
Publicado por Perfil removido (última atualização em 08/07/2011)
[ Hits: 5.578 ]
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
Calcular média dos bimestres escolares
Blackjack simples para estudo de iniciantes em Python
Sequência de Fibonacci até determinado número
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Dock do debian está muito pequena (1)
Instalei Windows 11 e não alterou o Grub do Debian (0)
Linux Mint (21.2) não reconhece teclado mecanico RASEC da PCYES (2)