本来想穷举所有密码,算法要么就嵌套太深,要么就特别耗内存(会溢出).后来选了一个简单重复概率很低的算法.代码如下:
代码如下:
# -*- coding:utf-8 -*-”’ @ function: 生成随机密码字典”’import randomclass 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 retif __name__==’__main__’: for str in dictor(6,16): print(str)