Python 生成账号密码算法

有个需求,需要伪造跟用户行为非常类似的账号密码,而且需要一个阀值控制伪造的数量。

在这需求上,还有一个就是需要控制生成的比率、跳出率不能过高或者太低。

对此就随手用python写了一个,bug不知道有木有,没有测,具体有兴趣可以去改改。

#coding:utf-8import randomclass create_data:global zimu_xx,zimu_dx,number,teshu# 生成26个英文字母,大小写zimu_xx=[chr(i) for i in range(97,123)]zimu_dx=[chr(i).upper() for i in range(97,123)]# 生成随机的数字范围在(1-8000)number=[i for i in range(1,8001)]# 生成特殊字符串teshu=['!','@','#','$','%','^','&','*','(',')','_','+','-','=','|','}','{','[',']',';','"',',','<','>','.','?','/']def __init__(self):self.u_1=0self.u_2=0self.u_3=0self.u_4=0self.p_1=0self.p_2=0self.p_3=0self.p_4=0self.p_5=0self.p_6=0def username(self):# 随机判断标准task=random.randint(0,10)# 结果列表results_all=[]# 字母结果results_letters=[]# 数字结果results_digital=[]try:    if (task>0 and task<3):self.u_1=self.u_1+1while len(results_letters)<4:results_letters.append(random.choice(zimu_xx))results_all.append("".join(results_letters))while True:if random.choice(number)<1500:results_all.append(random.choice(number))breakelse:continuereturn results_all[0].encode('utf-8')+str(results_all[1])elif (task>3 and task<6):self.u_2=self.u_2+1while len(results_letters)<5:results_letters.append(random.choice(zimu_xx))results_all.append("".join(results_letters))while True:if random.choice(number)>1500 and random.choice(number)<3000:results_all.append(random.choice(number))breakelse:continuereturn results_all[0].encode('utf-8')+str(results_all[1])elif (task>6 and task<9):self.u_3=self.u_3+1while len(results_letters)<6:results_letters.append(random.choice(zimu_xx))results_all.append("".join(results_letters))while True:if random.choice(number)>3000 and random.choice(number)<6000:results_all.append(random.choice(number))breakelse:continuereturn results_all[0].encode('utf-8')+str(results_all[1])else:self.u_4=self.u_4+1temp=[]while len(results_letters)<3:results_letters.append(random.choice(zimu_xx))results_all.append("".join(results_letters))while True:if random.choice(number)>6000 and random.choice(number)<8000:results_all.append(random.choice(number))breakelse:continuewhile len(temp)<3:temp.append(random.choice(results_letters))results_all.append("".join(temp))return results_all[0]+str(results_all[1])+results_all[2]except IndexError,e:passdef passwd(self):# 随机判断标准task=random.randint(0,15)# 结果列表results_all=[]# 字母结果(大写)results_letters_big=[]# 字母结果(小写)results_letters_small=[]# 数字结果results_digital=[]# 特殊字符results_special_characters=[]try:    if (task>0 and task<3):self.p_1=self.p_1+1while len(results_letters_big)<3:results_letters_big.append(random.choice(zimu_dx))while len(results_letters_small)<3:results_letters_small.append(random.choice(zimu_xx))results_all.append("".join(results_letters_big))results_all.append("".join(results_letters_small))while len(results_special_characters)<3:results_special_characters.append(random.choice(teshu))results_all.append("".join(results_special_characters))while True:test_num=[i for i in range(200,800)]if random.choice(test_num)>300 and random.choice(test_num)<600:results_all.append(random.choice(test_num))breakelse:continuereturn results_all[0]+results_all[1]+results_all[2]+str(results_all[3])elif (task>3 and task<4):self.p_2=self.p_2+1while len(results_letters_big)<4:results_letters_big.append(random.choice(zimu_dx))while len(results_letters_small)<3:results_letters_small.append(random.choice(zimu_xx))results_all.append("".join(results_letters_big))results_all.append("".join(results_letters_small))while len(results_special_characters)<4:results_special_characters.append(random.choice(teshu))results_all.append("".join(results_special_characters))while True:test_num=[i for i in range(500,1400)]if random.choice(test_num)>600 and random.choice(test_num)<1200:results_all.append(random.choice(test_num))breakelse:continuereturn results_all[0]+results_all[2]+results_all[1]+str(results_all[3])elif (task>4 and task<9):self.p_3=self.p_3+1while len(results_letters_big)<3:results_letters_big.append(random.choice(zimu_dx))while len(results_letters_small)<4:results_letters_small.append(random.choice(zimu_xx))results_all.append("".join(results_letters_big))results_all.append("".join(results_letters_small))while True:test_num=[i for i in range(1100,2600)]if random.choice(test_num)>1200 and random.choice(test_num)<2400:results_all.append(random.choice(test_num))breakelse:continuereturn results_all[1]+results_all[0]+str(results_all[2])elif (task>9 and task<12):self.p_4=self.p_4+1while len(results_letters_big)<3:results_letters_big.append(random.choice(zimu_dx))while len(results_letters_small)<4:results_letters_small.append(random.choice(zimu_xx))results_all.append("".join(results_letters_big))results_all.append("".join(results_letters_small))while True:test_num=[i for i in range(2300,5000)]if random.choice(test_num)>2400 and random.choice(test_num)<5000:results_all.append(random.choice(test_num))breakelse:continuereturn str(results_all[2])+results_all[1]+results_all[0]elif (task>12 and task<15):self.p_5=self.p_5+1while len(results_letters_big)<4:results_letters_big.append(random.choice(zimu_dx))while len(results_letters_small)<5:results_letters_small.append(random.choice(zimu_xx))results_all.append("".join(results_letters_big))results_all.append("".join(results_letters_small))while True:test_num=[i for i in range(4900,10000)]if random.choice(test_num)>5000 and random.choice(test_num)<10000:results_all.append(random.choice(test_num))breakelse:continuereturn str(results_all[2])+results_all[0]+results_all[1]else:self.p_6=self.p_6+1while len(results_letters_big)<5:results_letters_big.append(random.choice(zimu_dx))while len(results_letters_small)<4:results_letters_small.append(random.choice(zimu_xx))results_all.append("".join(results_letters_big))results_all.append("".join(results_letters_small))return results_all[0]+results_all[1]except IndexError,e:passdef count_data(self):print "生成100组账号密码的概率比例:"print "========账号类比率======="print "方案1: %s%% 方案2: %s%% 方案3: %s%% 方案4: %s%%" % (self.u_1,self.u_2,self.u_3,self.u_4)print "========密码类比率======="print "方案1: %s%% 方案2: %s%% 方案3: %s%% 方案4: %s%% 方案5: %s%% 方案6: %s%%" % (self.p_1,self.p_2,self.p_3,self.p_4,self.p_5,self.p_6)if __name__=='__main__':t=create_data()for i in range(0,100):print "生成账号: %s 密码: %s" % (t.username(),t.passwd())t.count_data()

 

转载于:https://www.cnblogs.com/xiaoCon/p/3891996.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359655.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云计算系统是大规模计算机系统吗,云计算的系统架构及技术探析

云计算技术属于计算机技术的一种&#xff0c;是目前计算机技术中应用以及研究重点之一&#xff0c;那么云计算到底是什么呢&#xff1f;云计算是在并行处理&#xff0c;分析式处理等技术的基础上发展而来的新技术&#xff0c;可以有效的将计算机进行整合&#xff0c;建立新颖的…

mvc crud_Spring MVC3 Hibernate CRUD示例应用程序

mvc crud学习从HelloWorld应用程序开始的任何Web框架都是一个好主意。 一旦我们熟悉了框架配置&#xff0c;最好做一个CRUD&#xff08;创建&#xff0c;读取&#xff0c;更新&#xff0c;删除&#xff09;应用程序&#xff0c;该应用程序涵盖Web框架的各个方面&#xff0c;例如…

关于支付宝即时到帐异步通知(notify_url)一点总结

&#xff08;1&#xff09;首先做支付的商业网站&#xff0c;需要能够上网&#xff08;支付成功后&#xff0c;需要进行参数回传验证&#xff0c;如果上不了网&#xff0c;responseText就直接为false&#xff09;&#xff08;2&#xff09;notify_url这个不能进行验证&#xff…

会计用计算机很快是,40个超实用电脑快捷键,老会计都在用

Ctrl A 全选Ctrl C 复制Ctrl F 查找Ctrl P 打印Ctrl X 剪切Ctrl V 粘贴Ctrl Z 撤消Ctrl Y 恢复Alt PrtScr 截屏(活动窗口)Ctrl Alt A 截屏(QQ截屏)Ctrl Shift X 截屏(360截屏)Delete 删除Win D 返回桌面Win E 打开我的电脑Win L 锁定桌面Win 左/右箭头 将当前…

windows+nginx负载测试

系统:windows2003nginx版本:1.7.3(官方推荐版本 #父节点 http upstream cluster_1{ ip_hash;#能较好地把同一个客户端的多次请求分配到同一台服务器处理&#xff0c;避免了加权轮询无法适用会话保持的需求 server host:port weight1;#权重越高转向的请求比重越大 server host:p…

Vue 封装echarts柱状图(Bar)组件

目的&#xff1a;减少重复代码&#xff0c;便于维护 显示效果 组件代码 <template><div class"ldw-data-content-box"><div class"ldw-chilren-box"><div class"title" v-if"title">{{ title }}</div>…

9277用计算机,关于计算机常用进制以及进制之间的转换笔记

计算机常用进制以及进制之间的转换进制的由来生活中的常用进制计算机中的二进制计算机常用四种进制的说明八进制和十六进制进制之间的转换进制的由来进位就是进位计数制&#xff0c;就是一种计数的方法古代社会的技术方式结绳计数书契计数算盘正字计数n进制&#xff0c;就是逢n…

HTML5-寻路跟踪

转载于:https://www.cnblogs.com/lgyup/p/3895914.html

smartgwt_高级SmartGWT教程,第2部分

smartgwt这是我的教程的第二部分&#xff0c;有关使用SmartGWT快速进行UI开发。 在本教程的第一部分中 &#xff0c;我们创建了基本的界面布局并添加了一些基本组件。 现在是时候解决这个问题&#xff0c;并使用SmartGWT的真正功能了。 在继续之前&#xff0c;让我们记住到目前…

百年理工计算机专业课程,这两所国内的百年理工院校,实力强劲,都是国内顶尖实力...

2021年全国高考终于圆满落下了帷幕&#xff0c;但考生们即将要面临一件人生大事&#xff0c;那就是高考志愿填报&#xff0c;因此高考虽然结束&#xff0c;但考生们的压力仍然是不小&#xff0c;只有正确地填好高考志愿&#xff0c;确保自己能够被心仪的高校收录取&#xff0c;…

数学图形之SineSurface与粽子曲面

SineSurface直译为正弦曲面.这有可能和你想象的正弦曲线不一样.如果把正弦曲线绕Y轴旋转,得到的该是正弦波曲面.这个曲面与上一节中的罗马曲面有些相似,那个是被捏过的正四面体,这个则是个被捏过正方体. 本文将展示SineSurface与粽子曲面的生成算法和切图,使用自己定义语法的脚…

计算机工程学院文艺例会,西航职院 | 计算机工程学院 2019年度学生会干部第一次例会...

原标题&#xff1a;西航职院 | 计算机工程学院 2019年度学生会干部第一次例会西航职院计算机工程学院&#xff0c;2019年度第一次学生会干部例会&#xff0c;于2月26日下午在四号教学楼201顺利召开。参加此次会议的有计算机学生会全体学生干部和指导老师刘老师。会议开始&#…

dateformat线程_Java最佳实践–多线程环境中的DateFormat

dateformat线程这是有关使用Java编程语言时的拟议实践的系列文章的第一篇。 所有讨论的主题均基于用例&#xff0c;这些用例源于电信行业关键任务超高性能生产系统的开发。 在阅读本文的每个部分之前&#xff0c;强烈建议您参考相关的Java API文档以获取详细信息和代码示例。…

计算机组装报告文档,计算机组装报告.doc.docx

计算机组装与维护实训报告 2010-03-22 10:10计算机组装与维护实训报告 实习内容&#xff1a;计算机组装与维 护实习地点&#xff1a;学校机 房实 习目的&#xff1a; 通过计算机的组装&#xff0c; 认识计算机的硬件和结构&#xff0c; 了解计算机的整个组装过程和注意 事 项。…

关于图连通性的几道题(水)

POJ 2186 强连通分量缩点 1 #include<cstdio>2 #include<cstring>3 #include<algorithm>4 using namespace std;5 6 int en[10010], col[10010], dfn[10010], low[10010], stack[10010], tot[10010], chu[10010];7 bool ins[10010];8 int n, m, esize, dtime…

计算机教育 如何投稿,高职院校计算机教育论文投稿教育杂志-教育论文投稿

教育学文摘》杂志征稿启示(杂志介绍)《教育学文摘》杂志创刊于1986年,系国家级教育类学术期刊&#xff0c;精选摘编有关教育理论研究和学校改革实践方面的优秀文章&#xff0c;由教育部主管&#xff0c;中国人民大学主办&#xff0c;面向国内外公开发行&#xff0c;本刊已被中国…

一台计算机硬盘容量标为800gb,一台计算机的硬盘容量标为800GB,其存储容量是()。...

台硬盘不适的装用于料是室外饰材。行的有_能进操作&#xff0c;计算机系统源管在W“资”中操作理器。不正有_确的&#xff0c;容量下列叙述中。的有描述正确&#xff0c;其存文输的中s系统下关于入。文档选定应_整篇&#xff0c;储容d文档编在W辑中。不能作进行_操&#xff0c;…

提升您的Hibernate引擎

是否想知道如何调整基于Hibernate的应用程序以获得无缝的可伸缩性和最佳性能&#xff1f; 本文探讨了基于Hibernate的应用程序的调整技术&#xff0c;重点是有效但文献记载不足的调整主题&#xff0c;例如继承映射&#xff0c;二级缓存和增强的序列标识符生成器。 它还提供了一…

sql alter表字段处理

--添加字段 ALTER table WCOLLECTION add CLT_ID int null default(0) --将已有字段类型为 NULL 修改为 NOT NULLalter table table_namealter column column_name char(20) not null--添加主键ALTER table WCOLLECTION add primary key (CLT_ID)转载于:https://www.cnblogs.c…

流程图伪代码计算机语言,流程图与伪代码 PPT课件

2018考纲分析,2018考纲分析,程序设计增加部分(适应2018新考纲),目录一、程序与算法介绍1.流程图2.伪代码二、程序的基本结构,一、程序与算法介绍,软件计算机程序文档资料程序数据结构算法程序设计方法语言工具和环境,算法的表示方法有很多种常用的有&#xff1a;自然语言、流程…