利用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 相关文章推荐
python3使用scrapy生成csv文件代码示例
Dec 28 Python
删除python pandas.DataFrame 的多重index实例
Jun 08 Python
使用Django连接Mysql数据库步骤
Jan 15 Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
Jun 18 Python
在Python中使用turtle绘制多个同心圆示例
Nov 23 Python
Python合并2个字典成1个新字典的方法(9种)
Dec 19 Python
Python 一行代码能实现丧心病狂的功能
Jan 18 Python
Python版中国省市经纬度
Feb 11 Python
python 获取当前目录下的文件目录和文件名实例代码详解
Mar 10 Python
python实现图像拼接功能
Mar 23 Python
Python自动化办公Excel模块openpyxl原理及用法解析
Nov 05 Python
Python爬虫之Selenium鼠标事件的实现
Dec 04 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提示undefined index的几种解决方法
2012/05/21 PHP
php实现根据IP地址获取其所在省市的方法
2015/04/30 PHP
简单介绍PHP的责任链编程模式
2015/08/11 PHP
thinkPHP使用post方式查询时分页失效的解决方法
2015/12/09 PHP
PHP中的Trait 特性及作用
2016/04/03 PHP
php从数据库中获取数据用ajax传送到前台的方法
2018/08/20 PHP
Javascript 遮罩层和加载效果代码
2013/08/01 Javascript
javascript使用定时函数实现跳转到某个页面
2013/12/25 Javascript
jQuery读取XML文件内容的方法
2015/03/09 Javascript
jquery实现很酷的网页顶部图标下拉菜单效果
2015/08/22 Javascript
js操作数组函数实例小结
2015/12/10 Javascript
Node.js中Request模块处理HTTP协议请求的基本使用教程
2016/03/31 Javascript
angularJS深拷贝详解
2017/03/23 Javascript
jquery之基本选择器practice(实例讲解)
2017/09/30 jQuery
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
2020/04/08 Javascript
[04:26]2014DOTA2西雅图国际邀请赛 总决赛TOPPLAY
2014/07/22 DOTA
从零学Python之hello world
2014/05/21 Python
在Python中操作字典之setdefault()方法的使用
2015/05/21 Python
python黑魔法之参数传递
2016/02/12 Python
python机器学习库常用汇总
2017/11/15 Python
1 行 Python 代码快速实现 FTP 服务器
2018/01/25 Python
简单了解python关系(比较)运算符
2019/07/08 Python
python3.6中@property装饰器的使用方法示例
2019/08/17 Python
python中struct模块之字节型数据的处理方法
2019/08/27 Python
爬虫代理的cookie如何生成运行
2020/09/22 Python
Python调用Redis的示例代码
2020/11/24 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
使用css3实现的windows8开机加载动画
2014/12/09 HTML / CSS
德国机场停车位比较和预订网站:Ich-parke-billiger
2018/01/08 全球购物
大学生饮食连锁店创业计划书
2014/01/17 职场文书
母婴店促销方案
2014/03/05 职场文书
公司委托书范本
2014/04/04 职场文书
2016大学军训通讯稿
2015/11/25 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书
MySQL 主从复制数据不一致的解决方法
2022/03/18 MySQL