利用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批量下载图片的三种方法
Apr 22 Python
Python操作列表之List.insert()方法的使用
May 20 Python
python爬虫获取百度首页内容教学
Dec 23 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
Jun 05 Python
基于 Django 的手机管理系统实现过程详解
Aug 16 Python
pytorch实现用CNN和LSTM对文本进行分类方式
Jan 08 Python
Python生成词云的实现代码
Jan 14 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
Apr 22 Python
Django bulk_create()、update()与数据库事务的效率对比分析
May 15 Python
基于python实现坦克大战游戏
Oct 27 Python
pytorch 运行一段时间后出现GPU OOM的问题
Jun 02 Python
Python 数据科学 Matplotlib图库详解
Jul 07 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
福利彩票幸运号码自动生成器
2006/10/09 PHP
PHP定时任务获取微信access_token的方法
2016/10/10 PHP
PHP编程实现计算抽奖概率算法完整实例
2017/08/09 PHP
PHP读取、解析eml文件及生成网页的方法示例
2017/09/04 PHP
php+iframe 实现上传文件功能示例
2020/03/04 PHP
jQuery为iframe的body添加click事件的实现代码
2011/04/07 Javascript
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
2014/09/03 Javascript
JSON格式的键盘编码对照表
2015/01/29 Javascript
jquery实现的树形目录实例
2015/06/26 Javascript
JS+CSS实现下拉列表框美化效果(3款)
2015/08/15 Javascript
JQuery日期插件datepicker的使用方法
2016/03/03 Javascript
总结Javascript中数组各种去重的方法
2016/10/04 Javascript
js 提交form表单和设置form表单请求路径的实现方法
2016/10/25 Javascript
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
vue实现在v-html的html字符串中绑定事件
2019/10/28 Javascript
[03:02]辉夜杯主赛事第二日 每日之星
2015/12/27 DOTA
Python中的闭包详细介绍和实例
2014/11/21 Python
Python常用的内置序列结构(列表、元组、字典)学习笔记
2016/07/08 Python
Python 模块EasyGui详细介绍
2017/02/19 Python
简述Python2与Python3的不同点
2018/01/21 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
python 两个一样的字符串用==结果为false问题的解决
2020/03/12 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
2020/06/01 Python
python中id函数运行方式
2020/07/03 Python
松下电器美国官方商店:Panasonic美国
2016/10/14 全球购物
林清轩官方网站:山茶花润肤油开创者
2016/10/26 全球购物
Supersmart英国:欧洲市场首批食品补充剂供应商之一
2018/05/05 全球购物
西班牙购买行李箱和背包网站:Maletas Greenwich
2019/10/08 全球购物
JYSK加拿大:购买家具、床垫、家居装饰等
2020/02/14 全球购物
高三上学期学习自我评价
2014/04/23 职场文书
教师节倡议书
2014/08/30 职场文书
销售员试用期自我评价
2014/09/15 职场文书
2014年电教工作总结
2014/12/19 职场文书
五年级上册复习计划
2015/01/19 职场文书
毕业生自荐求职信书写的技巧
2019/08/26 职场文书
关于python中模块和重载的问题
2021/11/02 Python