利用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 10 Python
django实现前后台交互实例
Aug 07 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
Oct 15 Python
python删除列表元素的三种方法(remove,pop,del)
Jul 22 Python
安装PyInstaller失败问题解决
Dec 14 Python
通过实例解析python描述符原理作用
Jan 22 Python
如何使用PyCharm将代码上传到GitHub上(图文详解)
Apr 27 Python
python 动态绘制爱心的示例
Sep 27 Python
PyTorch梯度裁剪避免训练loss nan的操作
May 24 Python
Python 如何解决稀疏矩阵运算
May 26 Python
4种方法python批量修改替换列表中元素
Apr 07 Python
Python 第三方库 openpyxl 的安装过程
Dec 24 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
如何在symfony中导出为CSV文件中的数据
2011/10/06 PHP
destoon文章模块调用企业会员资料的方法
2014/08/22 PHP
PHP超牛逼无限极分类生成树方法
2015/05/11 PHP
ie下动态加态js文件的方法
2011/09/13 Javascript
jQuery实现简单的间隔向上滚动效果
2015/03/09 Javascript
JS实现点击上移下移LI行数据的方法
2015/08/05 Javascript
js运动应用实例解析
2015/12/28 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
2016/05/17 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息)
2016/12/02 Javascript
vue-router路由与页面间导航实例解析
2017/11/07 Javascript
JavaScript中常见内置函数用法示例
2018/05/14 Javascript
json前后端数据交互相关代码
2018/09/19 Javascript
Vue编程式跳转的实例代码详解
2019/07/10 Javascript
Vue 一键清空表单的实现方法
2020/02/07 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
[01:03:36]Ti4 循环赛第三日DK vs Titan
2014/07/12 DOTA
[04:40]DOTA2-DPC中国联赛1月26日Recap集锦
2021/03/11 DOTA
python下函数参数的传递(参数带星号的说明)
2010/09/19 Python
Python读写Excel文件的实例
2013/11/01 Python
跟老齐学Python之有容乃大的list(3)
2014/09/15 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
2016/05/17 Python
Python简单生成随机数的方法示例
2018/03/31 Python
python使用docx模块读写docx文件的方法与docx模块常用方法详解
2020/02/17 Python
python实现从ftp上下载文件的实例方法
2020/07/19 Python
如何基于Python pygame实现动画跑马灯
2020/11/18 Python
Python监听键盘和鼠标事件的示例代码
2020/11/18 Python
限量版运动鞋和街头服饰:TheDrop
2020/09/06 全球购物
综合实践教学反思
2014/01/31 职场文书
群众路线个人自我剖析材料
2014/10/07 职场文书
东京审判观后感
2015/06/01 职场文书
暑期工社会实践报告
2015/07/13 职场文书
导游词之南京夫子庙
2019/12/09 职场文书
python解决12306登录验证码的实现
2021/04/18 Python
基于Go语言构建RESTful API服务
2021/07/25 Golang
分享3个非常实用的 Python 模块
2022/03/03 Python
bose降噪耳机音能消除人声吗
2022/04/19 数码科技