创建自己的程序以在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
加载中...
1 票,平均:1.00 / 11
2,869
X Facebook 哈特纳书签 口袋

写这篇文章的人

关于作者