Heim  >  Artikel  >  Backend-Entwicklung  >  So generieren Sie zufällige Passwörter in Python

So generieren Sie zufällige Passwörter in Python

高洛峰
高洛峰Original
2017-03-04 16:21:061510Durchsuche

Dieses Beispiel teilt den Implementierungsprozess zum Generieren zufälliger Passwörter in Python als Referenz. Der spezifische Inhalt ist wie folgt:

Ich habe ein Programm geschrieben, das hauptsächlich zum Erkennen leerer Passwörter und schwacher Passwörter in MySQL verwendet wird Für Passwörter werden

hier drei Kategorien schwacher Passwörter definiert:

1. Fortlaufende Zahlen , z. B. 123456, implementiert in get_weak_num

2. Fortlaufende Buchstaben , wie zum Beispiel abcdef, werden in get_weak_character

implementiert. Natürlich ist die Zahl zufällig.

3. Zufällige Kombination aus Zahlen und Buchstaben . Implementiert in get_weak_num_character.

Gleichzeitig wird eine Liste von „password_exist“ definiert, um verschiedene Passwörter zu speichern. Wenn das neu generierte Passwort in der Liste vorhanden ist, wird die Verbindung zur MySQL-Datenbank nicht hergestellt und es wird direkt mit dem nächsten Zyklus fortgefahren.

Die Details sind wie folgt:

#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~'

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er wird hilfreich sein jedermanns Arbeitszimmer.

Weitere verwandte Artikel zum Generieren zufälliger Passwörter in Python finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn