python 有严格规则的密码生成器

Posted A running snail,little step ev

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 有严格规则的密码生成器相关的知识,希望对你有一定的参考价值。

有严规则的密码生成器

import random
from random import shuffle
import string

def generatepassword():
    key=‘‘
    for i in range(requirement[lowercase]):
        key=key+random.choice(lowercase)

    for i in range(requirement[uppercase]):
        key=key+random.choice(uppercase)

    for i in range(requirement[digits]):
        key=key+random.choice(digits)

    for i in range(requirement[special]):
        key=key+random.choice(special)

    for i in range(requirement[length]-requirement[lowercase]-requirement[uppercase]-requirement[digits]-requirement[special]):
        key=key+random.choice(fulltable)

    key=list(key)

    generatekey=random.shuffle(key)
    return ‘‘.join(key)

if __name__ == "__main__":
    print("默认的密码是16位,有2位大写,2位小写,2个特殊字符,2个数字
")
    lowercase=abcdefghijklmnopqrstuvwxyz
    uppercase=ABCDEFGHIJKLMNOPQRSTUVWXYZ
    digits=0123456789
    special= """!"#$%&‘()*+,-./:;<=>?@[]^_`{|}~"""
    fulltable = lowercase+uppercase+digits+special
    requirement = {lowercase : 2 ,uppercase: 2,digits :2,special : 2,length:16}
    for j in range(10):
        print(generatepassword())

结果如下

默认的密码是16位,有2位大写,2位小写,2个特殊字符,2个数字

X:6u4G.k6%70*Gce
y^+P&4Q)>a=Rl‘0N
c_R2@)eD?m74DP`-
QDOd0h#j#B{qlS79
PtN)9N^T7~J}oJaZ
$Q|6}70j~p<A~Roj
Ch;]T-2xK"8ei{10
0)y3~VsDDj={3/F!
>4{P‘C2si,{8@6=K
w-G-(3Yt61Zwu!^I

Process finished with exit code 0

以上是关于python 有严格规则的密码生成器的主要内容,如果未能解决你的问题,请参考以下文章

密码生成常见的编码规则

Python代码阅读(第40篇):通过两个列表生成字典

如何在 ASP.NET 5 MVC 6 (vNext) 中定义 Identity 的密码规则?

C++ 构建警告:取消引用类型双关指针将破坏严格别名规则

这真的违反了严格的别名规则吗?

这真的违反了严格的别名规则吗?