程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-06(3)

Python小工具 之 随机密码生成器

发布于2020-03-15 17:24     阅读(1962)     评论(0)     点赞(6)     收藏(4)


# -*- coding: utf-8 -*-
# Create random password.

import random

allDigitList = list(range(10))
allAlphaList = [chr(i) for i in range(97, 123)]
allUpAlphaList = [chr(i) for i in range(65, 91)]

def RandomList(lst, num):
	return [str(random.choice(lst)) for i in range(num)]

def RandomNum(num):
	digitPercent = random.choice(range(5, 26))
	
	digitNum = max(int('{:.0f}'.format(num*digitPercent/100)), 1)
	alphaNum = max(int('{:.0f}'.format((num-digitNum)/2)), 1)
	upAlphaNum = max(num-digitNum-alphaNum, 1)

	return [digitNum, alphaNum, upAlphaNum]

def Main():
	try:
		num = int(input('Please input your password length (>= 6, default 20): '))
		if num < 6:
			num = 20
	except:
		num = 20
	
	randomNumList = RandomNum(num)
	digitNum = randomNumList[0]
	alphaNum = randomNumList[1]
	upAlphaNum = randomNumList[2]
	
	passwordList = RandomList(allDigitList, digitNum) + RandomList(allAlphaList, alphaNum) + RandomList(allUpAlphaList, upAlphaNum)
	random.shuffle(passwordList)
	
	print('{}\n'.format(''.join(passwordList)))
	
	Main()

Main()

原文链接:https://blog.csdn.net/aloe_gel/article/details/104868142



所属网站分类: 技术文章 > 博客

作者:我是防疫小可爱

链接:https://www.pythonheidong.com/blog/article/259779/c543b5140e0bdeb5537f/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

6 0
收藏该文
已收藏

评论内容:(最多支持255个字符)