利用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实现爬虫下载漫画示例
Feb 16 Python
win7 下搭建sublime的python开发环境的配置方法
Jun 18 Python
Python实现单词翻译功能
Jun 06 Python
Python实现句子翻译功能
Nov 14 Python
Python网络编程基于多线程实现多用户全双工聊天功能示例
Apr 10 Python
用TensorFlow实现戴明回归算法的示例
May 02 Python
使用Python实现从各个子文件夹中复制指定文件的方法
Oct 25 Python
python爬虫之快速对js内容进行破解
Jul 09 Python
python中的&&及||的实现示例
Aug 07 Python
理解Django 中Call Stack机制的小Demo
Sep 01 Python
python图片合成的示例
Nov 09 Python
教你一分钟在win10终端成功安装Pytorch的方法步骤
Jan 28 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
基于文本的搜索
2006/10/09 PHP
php生成zip压缩文件的方法详解
2013/06/09 PHP
PHP中使用socket方式GET、POST数据实例
2015/04/02 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
2011/09/19 Javascript
Extjs4中tree的拖拽功能(可以两棵树之间拖拽) 简单实例
2013/12/08 Javascript
json中换行符的处理方法示例介绍
2014/06/10 Javascript
关于jQuery判断元素是否存在的问题示例探讨
2014/07/21 Javascript
js闭包所用的场合以及优缺点分析
2015/06/22 Javascript
四种参数传递的形式——URL,超链接,js,form表单
2015/07/24 Javascript
浅谈angularjs module返回对象的坑(推荐)
2016/10/21 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
Vue.js中的extend绑定节点并显示的方法
2019/06/20 Javascript
ES6使用新特性Proxy实现的数据绑定功能实例
2020/05/11 Javascript
小程序分享链接onShareAppMessage的具体用法
2020/05/22 Javascript
[17:36]VG战队纪录片
2014/08/21 DOTA
[55:56]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
python实现socket客户端和服务端简单示例
2014/02/24 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
2018/10/15 Python
使用selenium和pyquery爬取京东商品列表过程解析
2019/08/15 Python
Python爬虫代理池搭建的方法步骤
2020/09/28 Python
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
迷你唐卡软皮鞋:Minnetonka Moccasin
2018/05/01 全球购物
俄罗斯马克西多姆家居用品网上商店:Максидом
2020/02/06 全球购物
英文版区域经理求职信
2013/10/23 职场文书
自荐信格式写作方法有哪些呢
2013/11/20 职场文书
植树造林的宣传标语
2014/06/23 职场文书
2014年人事专员工作总结
2014/11/19 职场文书
2014年质量工作总结
2014/11/22 职场文书
2014办公室年度工作总结
2014/12/09 职场文书
小学端午节活动总结
2015/02/11 职场文书
工作后的感想
2015/08/07 职场文书
六年级语文教学反思
2016/03/03 职场文书
PHP控制循环操作的时间
2021/04/01 PHP
python神经网络学习 使用Keras进行简单分类
2022/05/04 Python