用Python生成随机密码

Celia 163 0

    自从去年参加 ID Tech 的夏令营,已经很久没有用 Python 这个编程语言了。我这只三脚猫不甘心就这么让我电脑上安装的 Python 3.7 蒙尘,于是在网上四处寻找可以做的一些 Python 练习,一直翻啊翻啊,直到找到了这篇文章:https://www.practicepython.org/exercise/2014/05/28/16-password-generator.html

    这道题的题目是:Write a password generator in Python. Be creative with how you generate passwords - strong passwords have a mix of lowercase letters, uppercase letters, numbers, and symbols. The passwords should be random, generating a new password every time the user asks for a new password. 翻译成中文就是,用 Python 写一个密码生成器。生成密码的方式有创意,密码内要包含大小写字母,数字和符号。这些密码必须是随机的,每次用户请求生成密码时都应生成一段新的密码。

    于是我就写了上述的那些代码,算法可能不太好,生成的挺慢的,不过最终的效果确实实现了。点击绿色按钮运行代码,你会被要求输入需要生成密码的长度。如果长度超过了10,那么我原先指定的密码类型就不够用了(例如说我指定要有4个小写字母,3个大写字母,2个数字,1个符号)。用户要自己指定一种密码类型,例如,可以说要在原来的基础上多加一个数字,最终的密码中就会随机的出现3个数字而不是2个。接着,一个密码就成功生成了!

    这段代码中,我新学会的知识,是“string”这个库。“string.ascii_lowercase”是所有的小写字母,而“string.ascii_uppercase”则是所有的大写字母。运用这些能让代码简短很多。

    代码需要提升的非常,自然是在密码的长度超过10的时候,最好不要让用户自己输入密码类型。如果用户要生成一串100位的密码,那人工一个一个输进密码是不可行的。更好的解决方案,是让程序从数字、大小写字母和符号中随机抽取类型。

标签: 编程

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~

登录
用户名
密码
注册
用户名
密码
确认密码
找回密码
用户名
邮箱
※ 重置链接将发送到邮箱