利用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中的闭包总结
Sep 18 Python
python3.5实现socket通讯示例(TCP)
Feb 07 Python
python生成式的send()方法(详解)
May 08 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
Apr 19 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
May 30 Python
python实现字符串加密 生成唯一固定长度字符串
Mar 22 Python
Python递归函数 二分查找算法实现解析
Aug 12 Python
Python aiohttp百万并发极限测试实例分析
Oct 26 Python
python 比较字典value的最大值的几种方法
Apr 17 Python
Python super()函数使用及多重继承
May 06 Python
Python创建简单的神经网络实例讲解
Jan 04 Python
在python中实现导入一个需要传参的模块
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
Windows7下PHP开发环境安装配置图文方法
2010/05/20 PHP
php使用Smarty的相关注意事项及访问变量的几种方式
2011/12/08 PHP
基于php缓存的详解
2013/05/15 PHP
smarty模板引擎之分配数据类型
2015/03/30 PHP
[原创]php简单防盗链验证实现方法
2016/07/09 PHP
php识别翻转iphone拍摄的颠倒图片
2018/05/17 PHP
javascript 基础篇4 window对象,DOM
2012/03/14 Javascript
JS获取图片实际宽高及根据图片大小进行自适应
2013/08/11 Javascript
PHP和NodeJs开发的应用如何共用Session
2015/04/16 NodeJs
简介JavaScript中setUTCSeconds()方法的使用
2015/06/12 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
layui 根据后台数据动态创建下拉框并同时默认选中的实例
2019/09/02 Javascript
layui table设置某一行的字体颜色方法
2019/09/05 Javascript
JavaScript 正则应用详解【模式、欲查、反向引用等】
2020/05/13 Javascript
如何正确解决VuePress本地访问出现资源报错404的问题
2020/12/03 Vue.js
[00:57]林俊杰助阵DOTA2亚洲邀请赛
2015/01/28 DOTA
Python 字典dict使用介绍
2014/11/30 Python
用Python实现通过哈希算法检测图片重复的教程
2015/04/02 Python
Python fileinput模块使用实例
2015/05/28 Python
Python实现求数列和的方法示例
2018/01/12 Python
matplotlib subplots 调整子图间矩的实例
2018/05/25 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
设置python3为默认python的方法
2018/10/31 Python
python与字符编码问题
2019/05/24 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
2019/08/23 Python
python实现微信小程序用户登录、模板推送
2019/08/28 Python
HTML5 Canvas入门学习教程
2016/03/17 HTML / CSS
Agoda香港:全球特价酒店预订
2017/05/07 全球购物
英国领先的在线礼品店:Getting Personal
2019/09/24 全球购物
什么是重载?CTS、CLS和CLR分别做何解释
2012/05/06 面试题
坚守艰苦奋斗精神坚决反对享乐主义整改措施
2014/09/17 职场文书
法英专业大学生职业生涯规划书范文
2014/09/22 职场文书
饭店服务员岗位职责
2015/02/09 职场文书
小学2016年“我们的节日·重阳节”活动总结
2016/04/01 职场文书
描述鲁迅的名言整理,一生受用
2019/08/08 职场文书
十大最帅动漫男主 碓冰拓海上榜,第一是《灌篮高手》男主角
2022/03/18 日漫