python 随机生成8-64位密码

示例一、随机生成8-64位密码


密码要求:
Your password must contain the following:
您的密码必须包含以下内容:
8-64 characters/8-64个字符
At least 1 lowercase letter/至少1个小写字母
At least 1 uppercase letter/至少1个大写字母
At least 1 number/至少1个数字

"""
密码要求:
Your password must contain the following:
您的密码必须包含以下内容:
 8-64 characters/8-64个字符
 At least 1 lowercase letter/至少1个小写字母
 At least 1 uppercase letter/至少1个大写字母
 At least 1 number/至少1个数字
"""
import random
import string

def generate_password(length):
    # 定义密码可以包含的字符集
    lowercase_letters = string.ascii_lowercase
    uppercase_letters = string.ascii_uppercase
    digits = string.digits
    all_chars = lowercase_letters + uppercase_letters + digits
    # 初始化密码字符串
    password = []
    # 确保密码至少包含一个小写字母、一个大写字母和一个数字
    password.append(random.choice(lowercase_letters))
    password.append(random.choice(uppercase_letters))
    password.append(random.choice(digits))
    # 生成剩余的字符
    for _ in range(length - 3):
        password.append(random.choice(all_chars))
    # 打乱密码字符的顺序以增加随机性
    random.shuffle(password)
    # 将密码列表转换为字符串
    password = ''.join(password)
    return password
# 生成一个8到64位的随机密码
length = random.randint(8, 64) #random.randint(8, 8)
password = generate_password(length)
print(f"Generated Password: {password} (Length: {len(password)})")

示例二、随机生成8-64位密码

密码要求:
Your password must contain the following:
您的密码必须包含以下内容:
8-64 characters/8-64个字符
At least 1 lowercase letter/至少1个小写字母
At least 1 uppercase letter/至少1个大写字母
At least 1 number/至少1个数字

""" 
密码要求:
 Your password must contain the following: 您的密码必须包含以下内容: 
8-64 characters/8-64个字符 
At least 1 lowercase letter/至少1个小写字母 
At least 1 uppercase letter/至少1个大写字母 
At least 1 number/至少1个数字 
""" 
import random 
import string

def generate_password(length=16):
    if length < 8 or length > 64:
        raise ValueError("Password length must be between 8 and 64 characters.")

    # 定义所需的字符集
    lowercase_letters = string.ascii_lowercase
    uppercase_letters = string.ascii_uppercase
    digits = string.digits

    # 从每个字符集中至少选择一个字符
    password = [random.choice(lowercase_letters), random.choice(uppercase_letters), random.choice(digits)]

    # 生成剩余字符
    remaining_length = length - 3
    remaining_chars = lowercase_letters + uppercase_letters + digits
    password.extend(random.choices(remaining_chars, k=remaining_length))

    # 打乱密码字符的顺序
    random.shuffle(password)

    # 将字符列表转换为字符串
    return ''.join(password)


# 生成一个随机密码
password = generate_password()
print(password)

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值