日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 生成账号密码算法

發布時間:2023/12/2 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

總結

以上是生活随笔為你收集整理的Python 生成账号密码算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。