From eb81549ee0b54a4f2b956988ff0523f985f55741 Mon Sep 17 00:00:00 2001 From: Paul Pan Date: Sun, 5 Nov 2023 16:01:55 +0800 Subject: [PATCH] update readme --- README.md | 128 ++++++++++++++++++++++++++++++++++++++++++++++- data/result.xlsx | Bin 0 -> 64756 bytes 2 files changed, 126 insertions(+), 2 deletions(-) create mode 100644 data/result.xlsx diff --git a/README.md b/README.md index b6661b8..73e3203 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,10 @@ 实现了以下的分析功能: -- [x] 密码日期分析 [source](./stat_date.cpp) -- [x] 密码键位分析 [source](./stat_keystroke.cpp) - [x] 密码长度分析 [source](./stat_length.cpp) - [x] 密码结构分析 [source](./stat_struct.cpp) +- [x] 密码键位分析 [source](./stat_keystroke.cpp) +- [x] 密码日期分析 [source](./stat_date.cpp) - [x] 密码单词分析 [source](./stat_word.cpp) ## Compile and Run @@ -69,6 +69,7 @@ cmake .. cmake --build . -j popd ``` + ### Run 在 **项目根目录** 下运行: @@ -81,3 +82,126 @@ popd [2023-11-05 14:45:18.174] [info] 9: 65963 ... ``` + +## Details + +图标详见 [result.xlsx](./data/result.xlsx) + +### 密码长度分析 + +在 YAHOO 的数据集中 + +- 密码长度从 1 位到 30 位不等 +- 主要集中在 6 - 10 位 +- 其中 8 位的密码最多,占比达 27% + +在 CSDN 的数据集中 + +- 密码长度从 1 位到 40 位不等 +- 主要集中在 8 - 12 位 +- 其中 8 位的密码最多,占比达 36% + +### 密码结构分析 + +在 YAHOO 的数据集中 + +- 排名前 3 位的均为全字母型密码 +- 在前 15 种类型中,仅有一种全数字型的密码:D6,排名第 7 + +在 CSDN 的数据集中 + +- 在前 15 种类型中 + - 全数字密码占 6 个 + - 全字母密码占 3 个 + - 其余为字母数字混合型 +- 排名第一的类型为 D8 + - 从结构上来看符合 YYYYMMDD 日期类型或者 12345678简单密码 + - 其出现频率约为第二名(D9)的两倍 + +在这两个数据集中,前 15 中模式中均未发现特殊符号 + +### 密码键位分析 + +在 YAHOO 的数据集中 + +- 前 3 位的键位类型为:123456, qwerty, 123456789 +- 键位连续型的密码出现频次较低 + +在 CSDN 的数据集中 + +- 前 3 位的键位类型为:123456, 123456789, 1234567 +- 键位连续型的密码出现频次较高 +- 前 4 位的键位类型均为纯数字型,与密码结构中常见全数字型密码的结论相符 +- YAHOO 中常见的 qwerty 键位类型在 CSDN 中出现在第 10 位 + - CSDN 中首个常见的连续字母型键位位 zxcvbnm,出现在第 5 位 + +### 密码日期分析 + +采用正则表达式匹配日期类型,将日期分为以下几种类型: + +```cpp +// YYYY MM DD + 0: std::regex(R"((?:19|20)\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[1-2][0-9]|3[0-1]))"), + 1: std::regex(R"((?:19|20)\d{2}\.(?:0[1-9]|1[0-2])\.(?:0[1-9]|[1-2][0-9]|3[0-1]))"), + 2: std::regex(R"((?:19|20)\d{2}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1]))"), + 3: std::regex(R"((?:19|20)\d{2}/(?:0[1-9]|1[0-2])/(?:0[1-9]|[1-2][0-9]|3[0-1]))"), +// MM DD YYYY + 4: std::regex(R"((?:0[1-9]|1[0-2])(?:0[1-9]|[1-2][0-9]|3[0-1])(?:19|20)\d{2})"), + 5: std::regex(R"((?:0[1-9]|1[0-2])\.(?:0[1-9]|[1-2][0-9]|3[0-1])\.(?:19|20)\d{2})"), + 6: std::regex(R"((?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])-(?:19|20)\d{2})"), + 7: std::regex(R"((?:0[1-9]|1[0-2])/(?:0[1-9]|[1-2][0-9]|3[0-1])/(?:19|20)\d{2})"), +// YY MM DD + 8: std::regex(R"(\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[1-2][0-9]|3[0-1]))"), + 9: std::regex(R"(\d{2}\.(?:0[1-9]|1[0-2])\.(?:0[1-9]|[1-2][0-9]|3[0-1]))"), +10: std::regex(R"(\d{2}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1]))"), +11: std::regex(R"(\d{2}/(?:0[1-9]|1[0-2])/(?:0[1-9]|[1-2][0-9]|3[0-1]))"), +// MM DD YY +12: std::regex(R"((?:0[1-9]|1[0-2])(?:0[1-9]|[1-2][0-9]|3[0-1])\d{2})"), +13: std::regex(R"((?:0[1-9]|1[0-2])\.(?:0[1-9]|[1-2][0-9]|3[0-1])\.\d{2})"), +14: std::regex(R"((?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])-\d{2})"), +15: std::regex(R"((?:0[1-9]|1[0-2])/(?:0[1-9]|[1-2][0-9]|3[0-1])/\d{2})"), +// MM DD +16: std::regex(R"((?:0[1-9]|1[0-2])(?:0[1-9]|[1-2][0-9]|3[0-1]))"), +17: std::regex(R"((?:0[1-9]|1[0-2])\.(?:0[1-9]|[1-2][0-9]|3[0-1]))"), +18: std::regex(R"((?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1]))"), +19: std::regex(R"((?:0[1-9]|1[0-2])/(?:0[1-9]|[1-2][0-9]|3[0-1]))"), +``` + +在 YAHOO 的数据集中 + +- 类型 16, 12, 8 占据前三位 + - 类型16:形如 MMDD 的日期类型 + - 类型12:形如 MMDDYY 的日期类型 + - 类型8:形如 YYMMDD 的日期类型 +- 其余类型出现频次较低,可忽略不计 + +在 CSDN 的数据集中 + +- 类型 8, 0, 12, 16 + - 类型8:形如 YYMMDD 的日期类型 + - 类型0:形如 YYYYMMDD 的日期类型 + - 类型12:形如 MMDDYY 的日期类型 + - 类型16:形如 MMDD 的日期类型 +- 其余类型出现频次较低,可忽略不计 + +需要注意的是,MMDD, MMDDYY 等类型的日期由于长度较短,在密码串中可能并不表示日期,而是具备其他的含义 + +由此筛选下来,只有在 CSDN 数据集中,出现了常见的日期类型密码:YYYYMMDD + +### 密码单词分析 + +单词表来源于 Google 发布的 Top10000 English words + +在 YAHOO 的数据集中 + +- Top20 单词为:sword, password, write, money, angel, jesus, chris, writer, content, black, monkey, green, super, + associate, welcome, associated, prince, sweet, dragon, christ +- 其中 sword 与 password 互为包含关系,sword 频次主要来源于 password +- 出现了 angel, jesus, chris 等具有宗教色彩的单词 + +在 CSDN 的数据集中 + +- Top20 单词为:sword, happy, password, admin, china, hello, angel, angle, super, apple, window, windows, forever, dream, + loves, shine, lover, kevin, tiger, dragon +- 一样的出现了 sword 与 password 的包含关系 +- 出现了 password, admin 等经典口令 diff --git a/data/result.xlsx b/data/result.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c9f04245bd48f4855024ab1f550c0e19cad7e631 GIT binary patch literal 64756 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