/SimplePasswordGenerator_Py

一个简单的密码生成器。

Primary LanguagePythonMozilla Public License 2.0MPL-2.0

基本介绍

这是一个用于生成简易密码的程序。请勿使用该程序生成与财产相关账户的密码或其他重要账户的密码!

该程序生成的密码相对于纯随机密码更具有可读性,但总体密码强度不高。

密码生成原理

程序将调用名为"Password_Keywords.txt"的“原材料文档”,抽取其中的每一组“密码生成材料”。

“密码生成材料”作为一个类,拥有以下属性:

  1. 密码组成值。"Password_Composition"。该属性由英文字符串、数字组成。可以包含多个元素。最终生成的密码由各个选中的“密码组成值”组成。

  2. 密码标签。"Password_Tag"。该属性由中文字符串、英文字符串、数字组成。可以包含多个元素。用于标记本组“密码组成值”的标签特性。用户将选中心仪的“密码标签”令系统筛选“密码组成值”。

  3. 密码等级。"Password_Grade"。该属性由中文字符串、英文字符串、数字组成。可以包含多个元素。用于标记本组“密码组成值”的等级强度或分类。用户将选中心仪的“密码等级”令系统筛选“密码组成值”。

程序运行时,将会列出所有“密码等级”,用户将选择此次密码生成所需要的“密码等级”。接着,程序将会搜索所有包含该“密码等级”的材料组,列出其中所有的“密码标签”。用户将选择此次密码生成所需要的“密码标签”,程序随机抽取若干个该“密码等级”下含有该“密码标签”的“密码组成值”,随机排列生成密码。

如何使用

编辑“原材料文档”,添加自己需要的数据,打开程序,按照提示进行输入。

使用样例

我初次使用该程序时,根据自己想到的密码组成部分,编辑原材料文档中的内容。

Password_Keywords.txt

1,
reimu,Reimu,Yuyuko,yuyuko,Youmu,youmu,Sakuya,sakuya,
二次元,东方,论坛,
中,
2,
19491001,0801,0701,
教育,红色,
中,
3,
Vedio,vedio,
流媒体,视频,
弱,
4,
5WsOfCommunication,PaulFLazarsfeld,18901947,
社交媒体,英文字母,
强,

以第1组为例,我觉得东方project中的角色是易于记忆和联想的元素,因此将我喜爱的多个角色名列为“密码组成值”。同时,我认为这个密码可以用在“二次元”“论坛”“东方”这些地方,为这组材料写入标签。最后,我认为这些组成值密码强度为“中等”,将密码等级标注为“中”。

编辑完上述内容后,我运行程序。此次我需要注册一个教育论坛账号,我认为密码强度为中等即可,因此我按照提示输入"1"。

从以下等级中挑选,以半角逗号为分隔符。
1 中
2 弱
3 强
>>>1

程序运行,列出标签。由于此时我想生成的密码与“论坛”和“教育”相关,因此我输入对应序号"3,4"。

从以下标签中挑选,以半角逗号为分隔符。
1 二次元
2 东方
3 论坛
4 教育
5 红色
>>>3,4

程序从对应的材料组中随机抽取“密码组成值”,随机排列组合,生成密码"0801Youmu19491001",我采纳该密码,输入"0",程序结束。

生成以下密码,重新生成输入1,结束则输入0。
0801Youmu19491001
>>>0

其他注意事项

请使用虚拟硬盘技术保护“原材料文档”,当需要生成的时候再将其解密。