Rumah pembangunan bahagian belakang Tutorial Python Python如何生成随机密码的方法

Python如何生成随机密码的方法

Mar 04, 2017 pm 04:21 PM

本位实例为大家分享了Python生成随机密码的实现过程,供大家参考,具体内容如下

写了个程序,主要是用来检测MySQL数据库的空密码和弱密码的,

在这里,定义了三类弱密码:

1. 连续数字,譬如123456,在get_weak_num中实现

2. 连续字母,譬如abcdef,在get_weak_character中实现

当然,个数都是随机的。

3. 数字和字母随机组合。在get_weak_num_character中实现。

同时定义了一个password_exist的列表,用于保存不同的密码。如果新生成的密码在列表中存在,则不进行MySQL数据库的连接,直接到下一次循环。

具体如下:

#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~'
Salin selepas log masuk

以上就是本文的全部内容,希望对大家的学习有所帮助。

更多Python如何生成随机密码的方法相关文章请关注PHP中文网!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana saya menggunakan sup yang indah untuk menghuraikan html? Bagaimana saya menggunakan sup yang indah untuk menghuraikan html? Mar 10, 2025 pm 06:54 PM

Bagaimana saya menggunakan sup yang indah untuk menghuraikan html?

Cara memuat turun fail di python Cara memuat turun fail di python Mar 01, 2025 am 10:03 AM

Cara memuat turun fail di python

Penapisan gambar di python Penapisan gambar di python Mar 03, 2025 am 09:44 AM

Penapisan gambar di python

Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks Mar 05, 2025 am 09:58 AM

Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks

Cara Bekerja Dengan Dokumen PDF Menggunakan Python Cara Bekerja Dengan Dokumen PDF Menggunakan Python Mar 02, 2025 am 09:54 AM

Cara Bekerja Dengan Dokumen PDF Menggunakan Python

Cara Cache Menggunakan Redis dalam Aplikasi Django Cara Cache Menggunakan Redis dalam Aplikasi Django Mar 02, 2025 am 10:10 AM

Cara Cache Menggunakan Redis dalam Aplikasi Django

Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch? Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch? Mar 10, 2025 pm 06:52 PM

Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch?

Memperkenalkan Toolkit Bahasa Alam (NLTK) Memperkenalkan Toolkit Bahasa Alam (NLTK) Mar 01, 2025 am 10:05 AM

Memperkenalkan Toolkit Bahasa Alam (NLTK)

See all articles