利用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 Mysql自动备份脚本
Jul 14 Python
Python编写生成验证码的脚本的教程
May 04 Python
Python中列表和元组的使用方法和区别详解
Dec 30 Python
Python中实现switch功能实例解析
Jan 11 Python
Python读取properties配置文件操作示例
Mar 29 Python
python创建与遍历List二维列表的方法
Aug 16 Python
python定义类self用法实例解析
Jan 22 Python
使用TFRecord存取多个数据案例
Feb 17 Python
PIL包中Image模块的convert()函数的具体使用
Feb 26 Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
Apr 01 Python
keras实现基于孪生网络的图片相似度计算方式
Jun 11 Python
conda安装tensorflow和conda常用命令小结
Feb 20 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
星际争霸 Starcraft 编年史
2020/03/14 星际争霸
WordPress中is_singular()函数简介
2015/02/05 PHP
codeigniter发送邮件并打印调试信息的方法
2015/03/21 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
深入理解JavaScript 闭包究竟是什么
2013/04/12 Javascript
javascript获取下拉列表框当中的文本值示例代码
2013/07/31 Javascript
div模拟选择框示例代码
2013/11/03 Javascript
Javascript:为input设置readOnly属性(示例讲解)
2013/12/25 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
JS+CSS实现实用的单击输入框弹出选择框的方法
2015/02/28 Javascript
js表单提交和submit提交的区别实例分析
2015/12/10 Javascript
Highcharts使用简例及异步动态读取数据
2015/12/30 Javascript
实例讲解js验证表单项是否为空的方法
2016/01/09 Javascript
JavaScript必知必会(三) String .的方法来自何方
2016/06/08 Javascript
各式各样的导航条效果css3结合jquery代码实现
2016/09/17 Javascript
javaScript语法总结
2016/11/25 Javascript
关于vuex的学习实践笔记
2017/04/05 Javascript
bootstrap如何让dropdown menu按钮式下拉框长度一致
2017/04/10 Javascript
Vue Spa切换页面时更改标题的实例代码
2017/07/15 Javascript
浅谈JavaScript 代码整洁之道
2018/10/23 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
2020/02/21 Javascript
微信小程序实现弹幕墙(祝福墙)
2020/11/18 Javascript
Vue+scss白天和夜间模式切换功能的实现方法
2021/01/05 Vue.js
python迭代器实例简析
2014/09/25 Python
python编程通过蒙特卡洛法计算定积分详解
2017/12/13 Python
python Celery定时任务的示例
2018/03/13 Python
python之从文件读取数据到list的实例讲解
2018/04/19 Python
python实现一个点绕另一个点旋转后的坐标
2019/12/04 Python
Python如何实现远程方法调用
2020/08/07 Python
利用python绘制中国地图(含省界、河流等)
2020/09/21 Python
CheapTickets泰国:廉价航班,查看促销价格并预订机票
2019/12/28 全球购物
《小蝌蚪找妈妈》教学反思
2014/02/21 职场文书
私人会所最新创业计划书范文
2014/03/24 职场文书
《明天,我们毕业》教学反思
2014/04/24 职场文书
python实战之一步一步教你绘制小猪佩奇
2021/04/22 Python
Win11查看设备管理器
2022/04/19 数码科技