需求:有非常多的弱密码字典txt文件,现需将所有文件导入到数据库,通过数据库统计重复度高的弱密码,通过众多字典打造一个强大的、重复度高的字典
file

一、新建表

create table easy_passwd (id int(255) auto_increment primary key, passwd varchar(255), create_date datetime not null default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP)

/*区分大小写*/
ALTER TABLE easy_passwd CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;

二、导入数据

load data local infile "C:\\Users\\lh\\Desktop\\dic\\0321.txt" into table easy_passwd FIELDS TERMINATED BY "," (passwd);

/*只要重复上条语句,将所有要导入的文档导入进来*/

要怎么将这么多文件的路径补全到上面的命令中呢?

2.1 获取所有字典文件名

写一个bat脚本,写入

dir /b > filename.txt

file
即可列出本目录下的所有文件名
file

2.2 补全sql语句

在Excel中将目标文件名位置分列,把刚获取的文件名粘贴即可
file

2.3 执行命令

执行命令后,自动将字典内容导入到表中
file
file

2.4 格式化内容

导入后,部分文本后面会有\r字符,导致无法搜索
可通过以下命令将\r字符删除

UPDATE easy_passwd SET passwd=REPLACE(passwd,"\r","");
UPDATE easy_passwd SET passwd=REPLACE(passwd,"\n","");
UPDATE easy_passwd SET passwd=REPLACE(passwd," ","");

三、重复项排序

将表中的密码字段的重复次数进行排序。如下面的语句为列出表中出现次数最多的1万条

SELECT passwd, count( * ) AS count
FROM easy_passwd
GROUP BY passwd
ORDER BY count DESC
LIMIT 10000

file

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。