利用Python如何生成随机密码


Posted in Python onApril 20, 2016

本位实例为大家分享了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~'

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

Python 相关文章推荐
Python标准库内置函数complex介绍
Nov 25 Python
基于Python __dict__与dir()的区别详解
Oct 30 Python
python的pandas工具包,保存.csv文件时不要表头的实例
Jun 14 Python
python2 与 python3 实现共存的方法
Jul 12 Python
Python做智能家居温湿度报警系统
Sep 25 Python
Python3实现的简单三级菜单功能示例
Mar 12 Python
实例讲解Python中整数的最大值输出
Mar 17 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
Oct 17 Python
检测tensorflow是否使用gpu进行计算的方式
Feb 03 Python
Python使用qrcode二维码库生成二维码方法详解
Feb 17 Python
python实现交并比IOU教程
Apr 16 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
May 12 Python
Python自动化部署工具Fabric的简单上手指南
Apr 19 #Python
python实现简单socket通信的方法
Apr 19 #Python
python实现域名系统(DNS)正向查询的方法
Apr 19 #Python
python安装与使用redis的方法
Apr 19 #Python
Python实现文件复制删除
Apr 19 #Python
利用Python获取赶集网招聘信息前篇
Apr 18 #Python
Python Sql数据库增删改查操作简单封装
Apr 18 #Python
You might like
PHP中is_file不能替代file_exists的理由
2014/03/04 PHP
PHP的cURL库简介及使用示例
2015/02/06 PHP
微信支付开发维权通知实例
2016/07/12 PHP
LAMP环境使用Composer安装Laravel的方法
2017/03/25 PHP
PHP简单实现二维数组赋值与遍历功能示例
2017/10/19 PHP
php的扩展写法总结
2019/05/14 PHP
jquery实现弹出层完美居中效果
2014/03/03 Javascript
js检测输入内容全为空格的方法
2014/05/03 Javascript
JavaScript判断文件上传类型的方法
2014/09/02 Javascript
node.js中的buffer.length方法使用说明
2014/12/14 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
解析Vue2 dist 目录下各个文件的区别
2017/11/22 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
node.js文件操作系统实例详解
2019/11/05 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
2020/03/07 Javascript
js实现简单抽奖功能
2020/11/24 Javascript
Echarts在Taro微信小程序开发中的踩坑记录
2020/11/09 Javascript
Python开发实例分享bt种子爬虫程序和种子解析
2014/05/21 Python
深入Python函数编程的一些特性
2015/04/13 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
2018/07/06 Python
Pycharm以root权限运行脚本的方法
2019/01/19 Python
set在python里的含义和用法
2019/06/24 Python
详解pandas中MultiIndex和对象实际索引不一致问题
2019/07/23 Python
Python基于jieba, wordcloud库生成中文词云
2020/05/13 Python
python属于软件吗
2020/06/18 Python
浅析NumPy 切片和索引
2020/09/02 Python
Python实例方法、类方法、静态方法区别详解
2020/09/05 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
2020/10/15 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
澳大利亚设计师服装在线:MISHA
2019/10/07 全球购物
开办饭店创业计划书
2013/12/28 职场文书
贫困证明书格式及范文
2014/10/15 职场文书
2015年度质量工作总结报告
2015/04/27 职场文书
复活读书笔记
2015/06/29 职场文书
MySQL系列之十 MySQL事务隔离实现并发控制
2021/07/02 MySQL
Python echarts实现数据可视化实例详解
2022/03/03 Python