创建自己的程序以在Python中生成强密码

大家好,我是基础设施团队的斋藤。
这次我将介绍如何使用 Python 创建密码。
首先,你每天是如何决定密码的?
很多人可能在选择密码时会遇到困难。
如果你连接到互联网,
你可以搜索现有的密码生成网站,但
有时你可能需要为未连接到互联网的环境中的服务器确定密码。
今天我将向大家展示一个简单的密码创建程序。
如何生成密码
这次,我们来创建一个Python程序,生成10个8位字符的密码。
源代码如下:
from random import choice from string import ascii_letters, digits, punctuation def gen_passwd(length=8, chars=ascii_letters+digits+punctuation): return ''.join([choice(chars) for i in range(length)]) for i in range(10): print(gen_passwd(8, ascii_letters+digits))
我将解释要点。
gen_passwd,它接受密码中的字符数和单词列表作为参数,并
输出密码。
ascii_letters是一个包含从 a 到 z(A 到 Z)的字母的字符串。
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
数字0-9。
0123456789
在您的电脑上运行此程序。
$ 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 登录屏幕
如果您觉得这篇文章有帮助,请点赞!
1