本来想穷举所有密码,算法要么就嵌套太深,要么就特别耗内存(会溢出).后来选了一个简单重复概率很低的算法.代码如下:

# -*- coding:utf-8 -*-
'''
 @ user: joe.zhou
 @ date: 2013-8-30
 @ 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)

 

 

相关文章:

  • 2021-06-07
  • 2021-10-12
  • 2021-06-30
  • 2022-01-15
  • 2021-12-09
  • 2021-10-28
  • 2021-07-02
猜你喜欢
  • 2022-12-23
  • 2021-08-22
  • 2021-09-04
  • 2022-01-18
  • 2021-07-23
相关资源
相似解决方案