利用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中用于检查英文字母大写的isupper()方法
May 19 Python
Python聚类算法之基本K均值实例详解
Nov 20 Python
python中利用await关键字如何等待Future对象完成详解
Sep 07 Python
python3获取当前文件的上一级目录实例
Apr 26 Python
python matlibplot绘制3D图形
Jul 02 Python
详解python 注释、变量、类型
Aug 10 Python
Python字符串逆序的实现方法【一题多解】
Feb 18 Python
Numpy中对向量、矩阵的使用详解
Oct 29 Python
flask框架url与重定向操作实例详解
Jan 25 Python
python boto和boto3操作bucket的示例
Oct 30 Python
Python实现Word文档转换Markdown的示例
Dec 22 Python
pandas针对excel处理的实现
Jan 15 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 修改zen-cart下单和付款流程以防止漏单
2010/03/08 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
PHP基于接口技术实现简单的多态应用完整实例
2017/04/26 PHP
javascript 获取所有id中包含某关键字的控件的实现代码
2010/11/25 Javascript
jQuery EasyUI API 中文文档 - Panel面板
2011/09/30 Javascript
Egret引擎开发指南之编译项目
2014/09/03 Javascript
js中document.write的那点事
2014/12/12 Javascript
Javascript基础教程之数组 array
2015/01/18 Javascript
最精简的JavaScript实现鼠标拖动效果的方法
2015/05/11 Javascript
javascript Slip.js实现整屏滑动的手机网页
2015/11/25 Javascript
如何高效率去掉js数组中的重复项
2016/04/12 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
微信小程序 网络API发起请求详解
2016/11/09 Javascript
HTML中使背景图片自适应浏览器大小实例详解
2017/04/06 Javascript
详解Vue微信公众号开发踩坑全记录
2017/08/21 Javascript
浅谈vue引入css,less遇到的坑和解决方法
2018/01/20 Javascript
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
jquery实现Ajax请求的几种常见方式总结
2019/05/28 jQuery
在Vue 中获取下拉框的文本及选项值操作
2020/08/13 Javascript
python paramiko实现ssh远程访问的方法
2013/12/03 Python
python实现sublime3的less编译插件示例
2014/04/27 Python
深入Python解释器理解Python中的字节码
2015/04/01 Python
python简单猜数游戏实例
2015/07/09 Python
使用Python简单的实现树莓派的WEB控制
2016/02/18 Python
python购物车程序简单代码
2018/04/18 Python
Python requests库用法实例详解
2018/08/14 Python
pandas 快速处理 date_time 日期格式方法
2018/11/12 Python
台湾网友喜爱的综合型网路购物商城:Yahoo! 奇摩购物中心
2018/03/10 全球购物
eBay比利时购物网站:eBay.be
2019/08/09 全球购物
你常见到的runtime exception
2016/09/05 面试题
SQL面试题
2013/12/09 面试题
科研课题实施方案
2014/03/18 职场文书
青春奉献演讲稿
2014/05/08 职场文书
新学期开学演讲稿
2014/05/24 职场文书
森林防火标语
2014/06/23 职场文书
电子银行业务授权委托书
2014/10/10 职场文书