如何利用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生成随机密码
#coding:utf-8 #利用python生成一个随机10位的字符串 import string import random import re list = list(string.lowerc ...
- python生成随机密码
有时候我们会想生成一个随机密码,这样我们通过Python中的一些随机方法,就可生成我们任意长度和复杂度的密码,代码如下: # -*- coding=utf-8 -*- import random im ...
- 推荐一个利用 python 生成 pptx 分析报告的工具包:reportgen
reportgen v0.1.8 更新介绍 这段时间,我对 reportgen 进行了大工程量的修改和更新.将之前在各个文章中出现的函数进行了封装,同时也对现有工具包的一些逻辑进行了调整. 1.rep ...
- 利用python生成交换机的VRF配置文件
为了快速生成有规律的VRF,写了一个python脚本,可以快速生成如下的VRF配置. ip vpn-instance vpn0ipv4-family route-distinguisher 600 ...
- 利用Python生成GIF动图
一.PIL库 1.PIL库的概括: PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库 ...
- 利用python生成图形验证码
validCode.py import random from io import BytesIO from PIL import Image, ImageDraw, ImageFont def ge ...
- 利用 urandom 生成随机密码
cat /dev/urandom | LC_ALL=C tr -dc "[:alnum:]" | fold -w 16 |head -3 说明: fold -w 16 指定密 ...
- 利用python自动生成verilog模块例化模板
一.前言 初入职场,一直忙着熟悉工作,就没什么时间更新博客.今天受“利奇马”的影响,只好宅在家中,写写技术文章.芯片设计规模日益庞大,编写脚本成了芯片开发人员必要的软技能.模块端口动不动就几十上百个, ...
- Python生成随机字符串
利用Python生成随机域名等随机字符串. #!/usr/bin/env python# -*- coding: utf-8 -*- from random import randrange, cho ...
随机推荐
- ViewController的生命周期
# ViewController 的生命周期 # ViewController的生命周期中各个方法的流程如下: init loadView :加载view viewDidLoad :view加载完毕 ...
- 【PostgreSQL】PostgreSQL的安装
到了新公司,新公司的数据库是使用PostgreSQL,第一次学习,第一次安装. 开始安装:
- 模拟--poj1835宇航员的故事
这道题委实无语了,刚开始以为是很一般的方位模拟题,懒得看样例直接写的代码,然后敲了好几个switch结果样例居然没出来.. 仔细分析了样例之后才发现原来随着宇航员方位的改变他的左手方向以及头顶方向是跟 ...
- Python 比较两个字符串大小
python 2中,有cmp(a,b)函数,用于比较两个字符串的大小. 如 >>>a='abc' >>>b='abd' >>>print cmp( ...
- Python基本数据类型——str
字符串常用操作 移除空白 分割 长度 索引 切片 class str(basestring): """ str(object='') -> string Retur ...
- Linq中使用反射实现--LINQ通用数据表绑定DataGrid控件的方法(原创)
项目需求,因为项目中存在很多表,这些表的内容需要呈现给客户浏览.转载请注明出处 相信很多写过程序的设计者很容易的用以下方式实现 在SqlConnect ,DataSet 的方式,我们很轻松的可以通过S ...
- js判断只能输入数字和只能输入
JS判断只能是数字和小数点 1.文本框只能输入数字代码(小数点也不能输入) <input onkeyup="this.value=this.value.replace(/\D/g,'' ...
- 设置Android Studio启动时可选最近打开过的工程
Android Studio启动时,默认会打开最近关闭的工程. 如果想Android Studio在启动时,打开欢迎界面(Welcome to Android Studio界面),则可以通过设置Set ...
- Ruby 里的 %Q, %q, %W, %w, %x, %r, %s, %i (译)转
原文地址 转自 %Q 用于替代双引号的字符串. 当你需要在字符串里放入很多引号时候, 可以直接用下面方法而不需要在引号前逐个添加反斜杠 (\") >> %Q(Joe said: ...
- ASP.NET Core 数据保护(Data Protection 集群场景)【下】
前言 接[中篇],在有一些场景下,我们需要对 ASP.NET Core 的加密方法进行扩展,来适应我们的需求,这个时候就需要使用到了一些 Core 提供的高级的功能. 本文还列举了在集群场景下,有时候 ...