python密码生成器

32-47:空格 ! " # $ % & ' ( ) * + , - . /
48-57:0-9
58-64:: ; < = > ? @
65-90:A-Z
91-96:[ 反斜杠 ] ^ _ `
97-122:a-z
123-126:{ | } ~


def genPwd(length=10):

    chars1 =  random.sample([chr(j)  for j in range(32,47)], 2)
    chars2 = random.sample([chr(j)  for j in range(48,57)], 2) 
    chars3 = random.sample([chr(j)  for j in range(65,90)], 2)
    chars4 = random.sample([chr(j)  for j in range(97,122)], length-6)
    chars=chars1+chars2+chars3+chars4
    return "".join(chars)

print(genPwd())



'''
密码生成器
'''
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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值