本來想窮舉所有密碼,算法要么就嵌套太深,要么就特別耗內存(會溢出).后來選了一個簡單重復概率很低的算法.代碼如下:
代碼如下:
# -*- coding:utf-8 -*-
'''
@ function: 生成隨機密碼字典
'''
import random
class Dictor():
CSet=' abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~!@#$%^&*()_-+=/*<>:;/'"[]{}|'
def __init__(self,minlen,maxlen):
if maxlen>minlen:
self.__minlen=minlen
self.__maxlen=maxlen
else:
self.__minlen=maxlen
self.__maxlen=minlen
def __iter__(self):
return self
def __next__(self):
ret=''
for i in range(0,random.randrange(self.__minlen,self.__maxlen+1)):
ret+=random.choice(Dictor.CSet)
return ret
if __name__=='__main__':
for str in Dictor(6,16):
print(str)
新聞熱點
疑難解答