Maison  >  Article  >  développement back-end  >  Comment générer des mots de passe aléatoires en Python

Comment générer des mots de passe aléatoires en Python

高洛峰
高洛峰original
2017-03-04 16:21:061559parcourir

Cet exemple partage le processus d'implémentation de génération de mots de passe aléatoires en Python pour votre référence. Le contenu spécifique est le suivant

J'ai écrit un programme, principalement utilisé pour détecter les mots de passe vides et les mots de passe faibles dans MySQL. Pour les bases de données,

ici, trois catégories de mots de passe faibles sont définies :

1 Nombres continus , tels que 123456, implémentés dans get_weak_num

2. Les lettres continues , telles que abcdef, sont implémentées dans get_weak_character

Bien sûr, le nombre est aléatoire.

3. Combinaison aléatoire de chiffres et de lettres . Implémenté dans get_weak_num_character.

En même temps, une liste de password_exist est définie pour enregistrer différents mots de passe. Si le mot de passe nouvellement généré existe dans la liste, la connexion à la base de données MySQL ne sera pas effectuée et le cycle passera directement à la prochaine fois.

Les détails sont les suivants :

#coding=utf8
import random,string,MySQLdb
def get_num():
  return random.randint(0,9)
def get_char():
  return random.choice(tuple(string.lowercase))
def choose_any():
  return [str(get_num()),get_char()]
def get_weak_num():
  weak_num=[]
  initial_num=get_num()
  for i in range(get_num()):
    weak_num.append(str(initial_num+i))
    if initial_num +i ==9:
      break;
  return weak_num
def get_weak_character():
  weak_character=[]
  initial_character=get_char()
  for i in range(get_num()):
    weak_character.append(chr(ord(initial_character)+i))
    if chr(ord(initial_character)+i) == 'z':
      break
  return weak_character
def get_weak_num_character():
  return [random.choice(choose_any()) for num in range(get_num())]
password_exist=[]
for i in range(10000):
  choice = [get_weak_num(), get_weak_character(), get_weak_num_character()]
  password=''.join(random.choice(choice))
  print "第"+str(i)+"次密码为:"+password
  if password in password_exist:
    continue
  else:
    try:
      MySQLdb.connect('192.168.244.145', 'root', password)
      print 'The password for MySQL is:'+password
      break
    except:
      continue
    password_exist.append(password)
if i == 9999:
  print 'The password is not so weak~'

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile pour l'étude de tout le monde.

Pour plus d'articles sur la façon de générer des mots de passe aléatoires en Python, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn