编程技术网

关注微信公众号,定时推送前沿、专业、深度的编程技术资料。

 找回密码
 立即注册

QQ登录

只需一步,快速开始

极客时间

使用Python的密码生成器指南

orgil. Python 2022-1-14 15:29 206人围观

腾讯云服务器

This article was published as a part of the Data Science Blogathon.

概述

  • What is a “password generator using python”?
  • What exactly is a password?
  • How to make it?

什么是“密码生成器使用python”?

当您在通过Chrome上签署的网站上填写一些密码时,您将获得关于密码的Chrome的建议;它会向您推荐一个密码,尽管您可以使用它或仅创建自己的密码。你可以创建自己的同样的事情,我在这里帮助你 create 它。所以我们将使用Python及其库或模块创建它。

在我们制作之前,我们应该知道究竟是什么密码。

密码究竟是什么?

正如我们所知,密码是数字世界甚至在现实世界中的关键。因此,密码究竟是什么,一组包含大写字母和小写,数字和标点的字符。

在创建密码之前,我们应该知道密码的建议长度超过4个字符,少于16个字符。由于在少于4个字符的密码的情况下,它更容易被解码,并且在超过16的情况下,很难解码或仅供安全原因解码。

在这里,我们也使我们的密码长度为8到16个字符。

如何制作密码生成器?

我们将使用Python及其 Library 进行它。所以这里使用的 Library 涉点

  • string – To work with lower case and upper case alphabets, digits, and punctuations
  • random – To reorder characters

由于两个模块都在Python中内置,因此我们不需要下载任何

首先,我们将要导入模块。

import string
import random

现在我们制作名为password()的函数。

def password(): #creating a password generating function 

    """This is a password generator"""

    store = [] #It will contain passwords

    char_length = random.randrange(2,5)

    for i in range(char_length):# using string module to generate the password

        cap = random.choice(string.ascii_uppercase)

        store += cap

        small = random.choice(string.ascii_lowercase)

        store += small

        digit = random.choice(string.digits)

        store += digit

        punct = random.choice(string.punctuation)

        store += punct

    random.shuffle(store)# Shuffling it

    random.shuffle(store)# Shuffling it again 

    word = "".join(store) #Making the password a string

    return word
 

如上所述,我们已经创建了一个名为password()的函数,然后在下面我们编写了这个函数的docstring。注意:您可以通过在两侧的三个引号之间写入函数来提供 Feature 。它用于了解究竟究竟正在做什么。

现在返回到该点,现在我们创建了一个“ Store ”变量,其中包含密码的字符。现在主要游戏开始,因为我们将创建密码。

通过使变量“char_length”其中来自随机的随机模块的函数.randrange()用于获得给定范围之间的一个数字。这里的范围是2到4,我们将获得8到16个字符的密码。

提示:您可以更改您的缘故范围。然后我们使用循环来获取每个角色,然后将其抽搐。

然后我们创建了一个“帽”变量来获得大写字母。在此变量中,我们使用了“string.ascii_uppercase”的Aramin.Choice(string.ascii_uppercase)来获取ASCII字符或简单地理解: TypeScript 上存在的所有可写字符是ASCII字符,如“A,q,3,$,',+“而不是”箭头键或移位键“。因此,我们有导入的ASCII_Uppercase此处意味着字符串模块的大写字符,然后使用Aquary.Choice()函数,我们已经从所有大写字符中选择了一个字符。

然后,我们使用“Store + = Cap”等“+ =”将其添加到“存储”变量。

正如我们确实要获得一个大写字母,那样我们可以做到的是要获得一个小写字母,如创建一个包含小写字母的“小”变量。要执行此操作,我们已使用warman.choice(string.ascii_lowercase),与大写相同,我们从String模块中获得了一个小写字母,然后使用从随机模块中使用的“选择” Feature 我们选择了所有给定的所有给定的小写字母案例字母。

并使用“Store + = Small”添加此字母以存储下一行中的变量。

Again we are doing this to get a digit, that is we have created a “digit” variable that contains the digit in string format. To do so we have used “random.choice(string.ascii_digits)” in which we will get ASCII digits from the string module and then select a digit from the choice function of the random module.

然后我们将此字符添加到“Store”变量中。

At last, we have to get punctuation characters for our password which we will get by creating a variable named “punct” which will contain the punctuation characters. To do so, we used the string module to get ascii_punctuation and then used a choice function from random module like “random.choice(string.ascii_punctuation)” to select any of these characters.

然后我们将字符添加到 Store 变量,如“Store + = PINCT”。

此循环将在“char_length”变量中的2到4之间运行,因此字符为8或12或16个字符。由于在一个循环密码中为4个字符,因此随着循环的增加,字符长度将增加。

现在我们将洗牌 Store 变量重新排列它中的字符,再次将其混洗,以使其无法预测。

然后我们创建了一个“Word”变量,其中列表字符将被转换为字符串或简单密码。为此,我们使用内置函数“加入”将包含列表格式的密码的“存储”变量转换为字符串格式的密码。最后,我们将返回可变字中的密码。

现在我们将结束这样:

if __name__ == "__main__":
    print(password())

如您所知,在Python“__name__”函数中,用于通过编写导入然后 compose 导入,然后是模块的名称来获取模块。

最后,我们使用print()函数在屏幕上打印了密码()函数,如print(password()),最后得到我们的密码。

密码生成器程序屏幕截图

上面是我们所做的程序的片段,您可以看到,我们每次运行该程序时都有不同的密码。

瞧!您已使用Chrome的密码生成器等密码生成器。

结论

这就是您如何制作密码生成器的方式。

现在有些要点知道您使用此密码生成器何时何时知道。

如您所知,密码不是一项简单的任务,如果您使用这样的密码,那么包含许多点击的密码,那么我不认为您可以长时间记住它。当我们使用令人难忘的密码或某些名称或易于 memory 的东西。

但是,您可以使用类似Chrome的密码生成器,即您创建密码时,请使用此程序生成密码并将其放在那里,然后让它保存在Chrome的密码管理器中。

关于:

I am Atulya Khatri a python geek. I learn python and teach it in my local. You can also check out my previous blog on Analytics Vidhya which is how to make an infinite timer using python.

Cover page photo link: Photo by Wiredsmart from Pexels

In-site photo link: https://www.pexels.com/photo/security-logo-60504/

如果您面临程序的任何问题,请随时在评论部分询问。

用你思考的所有朋友分享这个问题。

本文中所示的媒体由Analytics Vidhya提供,并在提交人的自由裁量权使用

有关的

腾讯云服务器 阿里云服务器
关注微信
^