python123随机密码生成器_python密码生成器的3种方法

# -*- coding: UTF-8 -*-

'''

32-47:空格 ! " # $ % & ' ( ) * + , - . /

48-57:0-9

58-64:: ; < = > ? @

65-90:A-Z

91-96:[ 反斜杠 ] ^ _ `

97-122:a-z

123-126:{ | } ~

'''

import itertools

import random

from scipy.special import comb, perm

'''

这个方法比较方便快捷,但是比较消耗内存,内存不大,会内存溢出

'''

def products(length=5):

chars=''.join([chr(i) for i in range(32,127)])

for i in itertools.product(chars, repeat = length):

string = ''.join(i)

print(string)

'''

这个方法运行速度快,但是容易遗漏

'''

def random_str(code_len=5):

chars=''.join([chr(i) for i in range(32,127)])

code_count=int(comb(len(chars),code_len))

count= 0

while count < code_count:

checkcode= ''

for i in range(code_len):

j=random.randint(0,len(chars)-1)

checkcode+= chars[j]

print(checkcode)

count+=1

'''

这个方法综合前两种,内存消耗不大,运行速度一般

'''

def sub_list(length=5):

chars = [chr(j) for i in range(length) for j in range(32,127)]

for i in range(1 << len(chars)):

combo_list = []

for j in range(len(chars)):

if i & (1 << j):

combo_list.append(chars[j])

sub_list_len = len(combo_list)

if sub_list_len != length:

continue

else:

sub_str = ''.join(combo_list)

print(sub_str)

def main():

products()

random_str()

sub_list()

if __name__ == '__main__':

main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值