python实现随机密码字典生成器示例

yipeiwu_com6年前Python基础

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

复制代码 代码如下:

# -*- 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)
 

相关文章

Python 查找list中的某个元素的所有的下标方法

如下所示: #!/usr/bin/env python #_*_ coding:utf-8 _*_ name = ['hello', 'world', 'a', 'b', 'c',...

Python cv2 图像自适应灰度直方图均衡化处理方法

Python cv2 图像自适应灰度直方图均衡化处理方法

__author__ = 'Administrator' import numpy as np import cv2 mri_img = np.load('mri_img.npy...

python3实现多线程聊天室

python3实现多线程聊天室

使用python3创建多线程聊天室,供大家参考,具体内容如下 import threading import socket #socket udpSocket = None #...

vim自动补全插件YouCompleteMe(YCM)安装过程解析

Vim是全平台上一个高度可拓展的编辑器。它本身只是一个简陋的编辑器,但是因为有各种插件而变得强大。使用Vim编写代码就不免遇到代码补全的问题。常用的代码补全插件有两个:日本人shougo...

VSCode下好用的Python插件及配置

VSCode下好用的Python插件及配置

MS Python插件。 这是微软官方的Python插件,已经自带很多功能。下面是插件功能描述,其中部分内容我做了翻译。 a)     ...