让我们创建一个用 python 生成密码的程序
大家好。我是基础设施团队的 Saito。
这次,我将写一下如何使用 python 创建密码。
首先,您每天如何决定密码?
许多人在决定密码时可能会担心该选择什么。
如果您有连接到 Internet 的环境,
则可以搜索现有的密码创建站点,但
有时您可能需要在未连接到 Internet 的环境中确定服务器的密码。
这就是为什么今天我将向您介绍一个创建密码的简单程序。
生成密码
这次,我们用 python 创建一个程序,生成 10 个 8 字符的密码。
下面是源代码。
from random import choice from string import ascii_letters, digitals, punctuation def gen_passwd(length=8, chars=ascii_letters+digits+punctuation): return ''.join([choice(chars) for i in range(length)]) for i在范围(10)中:打印(gen_passwd(8,ascii_字母+数字))
我将重点介绍要点并进行解释。
gen_passwd,它接收密码中的字符数和单词列表作为参数并
输出密码。
ascii_letters是 a~z,A~Z 的字母串。
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
数字的字符串
0123456789
让我们在您的 PC 上运行该程序。
$ python pass.py 49HisGp9 lCH0m8gC iw7kPHF9 sxRXMnVS h9u2g8Zd 7XI3Abwk U47mAn36 wtrxmhnJ 1Ml5DRTa GDlIO7Bn
候选密码已输出!
让您的密码更强大
您可以使用特殊符号来增强密码的强度。
特殊符号有以下符号。
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
要使用它,请向函数参数添加标点符号并运行程序。
$ python random_pass.py [root@sim pybox]# ./random_pass.py P`)Y*HDg &j/{JigU NIDmYL|v DTg,,<8u [W:=7Y%H _JDy}OXJ ?4e0]fW : -rR2X4q #)M7/f+K
已生成包含特殊字符的密码。这将产生更强的密码。
如果您厌倦了更改 8 个字符的密码长度,可以通过导入 sys 或 argparse 将程序转换为命令。
您还可以使用翻译提前排除未使用的字符。
请尝试扩展它。
补充
攻击服务器的方法之一称为字典攻击。
当破解者发起字典攻击时,他们会准备包含密码中常用单词的字典文件,以便破解密码。
最流行的词典可以从网站http://download.openwall.net/
破解者可能会根据这个字典文件发起攻击。
如果你的密码中包含了这个字典文件中包含的字符,那么
你的密码被破解的机会自然就增加了。
还有一种更直接的方法,叫做暴力攻击。
如果您想避免这种情况,我们建议您使用更长的密码。
,例如基本身份验证或 WordPress 登录屏幕,
请考虑上述内容。
如果您觉得这篇文章有帮助,请点赞!