利用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类型强制转换long to int的代码
Feb 10 Python
Python多线程编程(五):死锁的形成
Apr 05 Python
浅析python中SQLAlchemy排序的一个坑
Feb 24 Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
May 08 Python
python实现单线程多任务非阻塞TCP服务端
Jun 13 Python
Python实现线程状态监测简单示例
Mar 28 Python
浅谈Python爬虫基本套路
Mar 25 Python
Python网络编程之使用TCP方式传输文件操作示例
Nov 01 Python
Python for循环搭配else常见问题解决
Feb 11 Python
在django中实现choices字段获取对应字段值
Jul 12 Python
python 模块导入问题汇总
Feb 01 Python
深度学习详解之初试机器学习
Apr 14 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 自写函数代码 获取关键字 去超链接
2010/02/08 PHP
phpmyadmin 常用选项设置详解版
2010/03/07 PHP
PHP实现的随机红包算法示例
2017/08/14 PHP
PHP htmlspecialchars_decode()函数用法讲解
2019/03/01 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
javascript 命名规则 变量命名规则
2010/02/25 Javascript
javascript学习笔记(七) js函数介绍
2012/06/19 Javascript
js中的this关键字详解
2013/09/25 Javascript
js判断登录与否并确定跳转页面的方法
2015/01/30 Javascript
js入门之Function函数的使用方法【新手必看】
2016/11/22 Javascript
nodejs多版本管理总结
2018/04/03 NodeJs
开发一个Parcel-vue脚手架工具(详细步骤)
2018/09/22 Javascript
jQuery操作cookie的示例代码
2019/06/05 jQuery
什么时候不能在 Node.js 中使用 Lock Files
2019/06/24 Javascript
ES6的异步终极解决方案分享
2019/07/11 Javascript
js实现上下左右键盘控制div移动
2020/01/16 Javascript
原生js中运算符及流程控制示例详解
2021/01/05 Javascript
[01:40]2014DOTA2国际邀请赛 三冰SOLO赛后采访恶搞
2014/07/09 DOTA
在Python下进行UDP网络编程的教程
2015/04/29 Python
python连接PostgreSQL数据库的过程详解
2019/09/18 Python
Python实现计算长方形面积(带参数函数demo)
2020/01/18 Python
Python模拟伯努利试验和二项分布代码实例
2020/05/27 Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
2020/07/01 Python
如何基于Python爬取隐秘的角落评论
2020/07/02 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
预订奥兰多和佛罗里达州公园门票:FloridaTix
2018/01/03 全球购物
Infababy英国:婴儿推车、Travel System婴儿车和婴儿汽车座椅销售
2018/05/23 全球购物
写自荐信有哪些不宜?
2013/10/17 职场文书
物流创业计划书
2014/02/01 职场文书
中秋节礼品促销方案
2014/02/02 职场文书
教职工代表大会主持词
2014/04/01 职场文书
党的群众路线查摆剖析材料
2014/10/10 职场文书
校车司机安全责任书
2015/05/11 职场文书
普希金的诗歌赏析(3首)
2019/08/20 职场文书
Python实现socket库网络通信套接字
2021/06/04 Python
如何用Python搭建gRPC服务
2021/06/30 Python