利用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 23 Python
python批量导入数据进Elasticsearch的实例
May 30 Python
Python测试网络连通性示例【基于ping】
Aug 03 Python
Python中分支语句与循环语句实例详解
Sep 13 Python
python使用多线程编写tcp客户端程序
Sep 02 Python
解决ROC曲线画出来只有一个点的问题
Feb 28 Python
Python3+selenium实现cookie免密登录的示例代码
Mar 18 Python
关于Python3爬虫利器Appium的安装步骤
Jul 29 Python
Python类成员继承重写的实现
Sep 16 Python
python 实现超级玛丽游戏
Nov 25 Python
基于tensorflow权重文件的解读
May 26 Python
Pytorch反向传播中的细节-计算梯度时的默认累加操作
Jun 05 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 中include()与require()的对比
2006/10/09 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
2015/11/24 PHP
phalcon model在插入或更新时会自动验证非空字段的解决办法
2016/12/29 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
2020/04/23 PHP
js 自定义的联动下拉框
2010/02/07 Javascript
style、 currentStyle、 runtimeStyle区别分析
2010/08/01 Javascript
在Javascript里访问SharePoint列表数据的实现方法
2011/05/22 Javascript
Javascript连接多个数组不用concat来解决
2014/03/24 Javascript
JQuery自动触发事件的方法
2015/06/13 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
2016/07/26 Javascript
jquery中用函数来设置css样式
2016/12/22 Javascript
JS实现双击内容变为可编辑状态
2017/03/03 Javascript
Node.js学习之地址解析模块URL的使用详解
2017/09/28 Javascript
vue父组件点击触发子组件事件的实例讲解
2018/02/08 Javascript
浅谈Koa2框架利用CORS完成跨域ajax请求
2018/03/06 Javascript
JavaScript动态加载重复绑定问题
2018/04/01 Javascript
Vue基本使用之对象提供的属性功能
2019/04/30 Javascript
JS中call()和apply()的功能及用法实例分析
2019/06/28 Javascript
javascript实现异形滚动轮播
2019/11/28 Javascript
JS绘图Flot如何实现动态可刷新曲线图
2020/10/16 Javascript
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
python微信公众号之关键词自动回复
2018/06/15 Python
python使用KNN算法识别手写数字
2019/04/25 Python
python代码实现将列表中重复元素之间的内容全部滤除
2020/05/22 Python
python通过函数名调用函数的几种场景
2020/09/23 Python
丝芙兰中国官方商城:SEPHORA中国
2018/01/10 全球购物
Haggar官网:美国男装品牌
2020/02/16 全球购物
市场营销专业毕业生自荐信
2013/11/02 职场文书
农村面貌改造提升实施方案
2014/03/18 职场文书
会计学专业求职信
2014/07/17 职场文书
驻村工作先进事迹
2014/08/14 职场文书
无房证明范本
2014/09/17 职场文书
2015入党自传书范文
2015/06/26 职场文书
Redis Cluster 字段模糊匹配及删除
2021/05/27 Redis
mysql中整数数据类型tinyint详解
2021/12/06 MySQL
python opencv将多个图放在一个窗口的实例详解
2022/02/28 Python