• 技术文章 >Python技术 >Python基础教程

    python密码生成器的使用

    小妮浅浅小妮浅浅2021-07-22 09:34:48原创4452

    使用方法

    1、随机生成N位密码。换个角度这其实相当于,准备好大写字母集合,小写字母集合,数字集合,特殊字符集合,从中随机挑选N个字符,然后把它们排成一排。您看,这样我们就不能把一般的需求转化为可以通过编程解决的实际问题了吗?

    2、密码至少要包含一个大写字母,一个小写字母,一个数字,一个特殊字符,并且可以指定密码长度——为了满足这一要求,有一个简单的方法,我们从头开始,把密码放在第一位。

    大写字母,第二个小写字母,第三个数字,第四个特殊字符,剩下的N-4个字符依次放任意字符。

    3、要解决从字符集中随机取字的问题——我们以前学过random.randint()函数,它可以随机生成一个数字,我们把这个随机数字作为索引去取字符集中取值(字符集合可以是str或list形式),从而达到随机取字符的目的。

    4、通过命令行交互接收密码长度相对简单,使用input()。

    实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    import randomchar

      

      

    def generate_password(length):

        if length < 4:

            raise ValueError('密码至少为 4 位')

      

        random_char = randomchar.RandomChar()

      

        password  = random_char.uppercase()

        password += random_char.lowercase()

        password += random_char.digit()

        password += random_char.special()

      

        count = 5

        while count <= length:

            password += random_char.anyone()

            count += 1

      

        return password

      

      

    password_length = input('请输入密码长度(8~20):')

    password_length = int(password_length)

      

    if password_length < 8 or password_length > 20:

        raise ValueError('密码长度不符')

      

    password = generate_password(password_length)

    print(password)

    以上就是python密码生成器的使用,希望对大家有所帮助。更多编程基础知识学习:python学习网

    本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    专题推荐:python密码生成器
    上一篇:python模块如何传入参数 下一篇:python gevent的原理分析

    相关文章推荐

    • python生成器中的send()方法和next()方法• 神秘而强大的Python生成器精讲• 一篇文章教你如何使用Python生成器• python生成器如何实现• 解析python生成器函数的调用• 如何使用python生成器返回指定的值?• python生成器的原理探究• python生成器函数的特点• python生成器调用方法引发异常• python生成器如何进行解析• python生成器切片的实现

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网