| 作者:ZKeeer 链接:https://zhuanlan.zhihu.com/p/25191468
 来源:知乎
 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 
 上篇文章中【https://zhuanlan.zhihu.com/p/25056106】,大家给了很多中肯意见,多谢大家。有些在下面说一下:
 1.    数据来源: 7k7k、126、163、178、766、5000w、17173、csdn、tianya、duduniu、duowan、houdao、ispeakcn、kaixin、mop、qq13E、renren、rockyou、台湾2G、uuu9、zhenai等泄露的明文密码
 2.    有些朋友希望能分享一下,由于网络原因,暂时没法上传,只能等开学后将密码等相关文件上传分享,大家可以关注我的动态。
 3.    这些文章都是我学python的道路上的练手的工具,缺少严谨性,不可作为论据、引用等。就像我个人说明一样:最喜欢胡扯。非要转载逗乐的话,请私信我并注明出处,谢谢
 4.    求大家多提意见,帮小白进步,跪谢一万次。
 5.    有933条密码是经过MD5加密的,哈哈哈。为什么只有几百条,什么网站只加密部分密码?VIP用户吗?还是网站规模太小?还是裤子脱了一半?
 不同长度中数字、字符、字母以及混合形式所占的比例如何
 上篇文章中讲到了密码长度集中在6-16位区间,也说了密码中集中特殊类型的数量、占比、地域分布等其他特征。这次统计分析了密码类型的占比,即纯数字、纯字母、纯符号、数字与字母、数字与符号、字母与符号、混排以及不可识别字符(含中文)的占比。
 
  统计分析结果显示,数字和字母这种类型占比最大,51.74%超过半数。其次是纯数字类型,占比29.90%。以上两种密码占比超过80%,所以说大家尽量避开这两种密码类型,不知道我这句话说的对不对,应该这么说:大家使用纯数字、数字和字母混排的类型时注意设置复杂一些。(混杂在人群中说不定也是一种好的藏身方式)。混排、纯字母这两种类型旗鼓相当——占比7%左右,剩下数字和符号、字母和符号、纯符号比较少,其中纯符号类型最少。
 那么,在不同长度中,这几种类型的占比又是如何?
 
  重复型(111111)、连续型(123456)、依赖键盘(QWER)以及其他类型哪种比重较大
 由于数量不多,简单介绍统计结果,其中重复型2405种 连续型612种 依赖键盘类型290种,现已加入wifi词典大礼包。
 哪两种标点最容易组合出现
 涉及符号的密码占了10%左右,统计其中标点符号、标点符号组合常出现的几种类型
 
  前5名:. .. ... ** !@#前三名这个太应付了。第四名**还好,第五名你们发现了没,是数字键123。于是乎,涉及符号时,大部分人比较应付 前二百名常用符号组合放在后面附录,有兴趣的可以Ctrl+F
 哪个数字组合(顺便数字)出现的频次最高
 涉及数字的密码占比92%左右,也是个大头。
 
  根据以上统计结果,1 2 3 等单个出现的数字多存在于woaizhang1、woaiwang2、4liwoai等情况中,除去单个数字,常用组合前十名:123(应付型)、520(寓意型)、1314(寓意型)、521(寓意型)、12(应付型,强于单个数字)、5201314(寓意型)、11(应付型)、00(应付型)、123456(依赖键盘)、88(寓意型) 浪漫的中国人,密码里有这么多520 521 1314。突然想起一个笑话:男孩喜欢说520,女孩喜欢说521(难道仅仅是为了发红包少发一点吗)。依赖键盘可以是67890,123456已经是重灾区了。如果纯粹是应付系统的强制要求,也没什么可说的。
 前二百名常用数字组合放在后面附录,有兴趣的可以Ctrl+F
 哪个词组(顺便字母)出现的频次最高
 对于常用词组,我统计了10万频次以上的词组,其中前五名是百万级以上的。前一百名都是十万级的。下面是频次前五十名的词组
 
  前五十名以及前一百名中,常用的有这几种类型:姓或名的拼音(例如zhang wang jinglong)、常见的英文名字(例如john sam david)、常见的单词组合(com love woaini qq abc)、依据键盘记忆类型(例如asd qwe zxc(还都是左手区))、应付型(应付系统强制有字母,例如aaa q A)。大家设置密码是尽量避免以上类型。 前二百名常用字母组合放在后面附录,有兴趣的可以Ctrl+F
 最常用的密码有哪些
 常用密码统计中,重复的次数不多,最多的90次左右。在这些重复的密码中,常用的有一下几种类型:常用单词(例如little,princess,lovely,forever,dragon等)、常用数字组合(例如123456,11111111等)、常用英文名(例如回村变翠芬的jessica,回屯变狗蛋的daniel)。以上全部加入词典大礼包。
 前二百名常用密码放在后面附录,有兴趣的可以Ctrl+F
 不同位置上字符使用的频率
 实在闲的无聊,家里面没网又不能打星际。又干了点无聊的工作。统计了6-20位密码(99%的密码)中,在每一位上字符的出镜率(在每一位上字符的频次统计),详情见以下表格(top10和bottom10)
 
   由上图可以看出,人们最喜欢用数字,最不喜欢符号(尤其是{)尤其是1,更是爱不释手,恨不得所有长度的密码都是11111111、111111111、1111111111、… 同时,大家请看第二位,却大多数是字母:a i u h o e y s 鉴于第一位出现了w l a z s第三位n a 第四位n。仅凭这个就可以大胆猜测,wang zhang love wo ai 等容易出现在前四位,当然top10后面没贴出来。这时回到常用词组统计可以进行一定的验证。 全部表格在附录,这个没法Ctrl+F,大家可以使用放大镜
 我们是否可以做出一个科学的高效的字典。
 基于这个文本文件,剔除其中重复的,截取8-20位密码。剩下的密码组成个字典,大小1.89 GB (2,037,833,342 字节),等网络允许了,我会上传,发出链接,还是在这篇文章里(或者评论里)
 【假装有链接】
 依据以上分析,给出什么是一个合格安全的密码
 注意事项:
 ①   数字、字母、符号混排
 ②   数字避免重复、连续、依赖键盘(或者有意义地依赖键盘,不是简单地依赖键盘)、常用的520之类
 ③   字母也是避免应付、连续、依赖键盘(或者有意义地依赖键盘,不是简单地依赖键盘)、姓氏拼音、常用词组
 ④   符号避免出现句号、键盘上!@#¥%(12345)
 建议:
 ①   上面说到依赖键盘,可以这样用,将键盘上对应的图形转换为对应的字母,大家可以举一反三
 
  
  这个数字键盘的图形类似于电源键、关机键那个图形,简单方便记住。但是注意,手机键盘跟电脑键盘的数字区是相反的。 ②  可以运用公式等本身存在符号的,有助于记忆
 举个栗子:F=ma。(或者你喜欢的公式,容易记住的公式)F替换为Force,我将ma替换为键盘上的一个平行四边形,就可以得到密码Force=tyui9876
 或者说,我实在想不起来公式,可以用1+1=3,(a+b)(a-b)=a^2-b^2,将其中的项进行替换。例如ZKeeer=dashuaibi*7758258
 ③   勤换密码,最少得半年吧。
 ④   大家还有其他的方式欢迎讨论,我这儿就算是抛砖引玉了。
 【附录-常用词组】
 
 
 【附录-常用数字组合】复制代码a, A, qq, q, w, b, z, com, l, s, aa, abc, x, y, c, wang, asd, li, m, h, www, zhang, d, as, love, j, k, E, f, liu, yang, qwe, g, wo, o, p, ai, chen, woaini, qaz, t, e, aaa, qw, n, zxc, C, B, D, abcd, F, yu, wei, ab, zx, r, yy, ww, QQ, lin, xiao, mm, bb, zz, ok, aini, long, i, wu, huang, yan, ly, ll, v, xu, zy, xx, O, zhao, feng, Q, zhou, u, wan, hao, zhu, qqq, ss, sun, cc, hu, jj, zj, ma, jia, liang, lj, yuan, zh, jun, wj, jie, wen, wy, zl, W, jiang, jing, hui, xy, he, L, xin, gao, lu, fei, dong, hua, Z, guo, pp, kk, wq, asdf, han, peng, jin, tao, lei, cn, cheng, ming, woai,
 
 【附录-常用符号组合】复制代码
1, 123, 520, 0, 2, 1314, 3, 521, 4, 5, 8, 6, 7, 9, 12, 5201314, 11, 00, 123456, 88, 2008, 13, 1314520, 1234, 110, 10, 21, 52, 22, 1987, 456, 99, 888, 01, 20, 000, 23, 1989, 14, 1988, 163, 321, 1986, 789, 1990, 111, 15, 77, 2009, 19, 18, 12345, 123456789, 08, 33, 007, 5211314, 09, 07, 1985, 24, 16, 06, 17, 1991, 25, 2010, 66, 1992, 159, 001, 55, 1984, 3344, 2007, 1993, 89, 05, 02, 666, 03, 168, 69, 86, 1983, 04, 999, 1994, 28, 258, 27, 26, 94, 87, 1982, 1230, 100, 369, 126, 78, 7758521, 1314521, 1995, 45, 54, 90, 2006, 147, 34, 85, 963, 44, 555, 29, 30, 31, 8023, 98, 82, 56, 84, 1996, 92, 1981, 32, 83, 93, 91, 51, 95, 101, 333, 222, 120, 79, 520520, 96, 777, 2000, 68, 80, 81, 58, 123123, 0123, 0000, 1980, 125, 1997, 2005, 131, 97, 135, 74, 7758258, 36, 201314, 119, 121, 47, 35, 76, 2011, 38, 8888, 123321, 67, 75, 112, 5210, 65, 1111, 42, 518, 50, 138, 2012, 886, 37, 1979, 72, 911, 48, 987, 64, 008, 741, 46, 73, 158, 1122, 41, 63, 521521, 57, 1212, 1234567, 40, 2002, 1998, 43, 1978, 71, 62, 2004, 61, 60, 5200, 59, 7758, 2003, 53, 39, 139, 1010, 70, 198, 159357, 2001, 136, 200, 512, 130, 147258, 654321, 143, 49, 5566, 852, 1123, 137, 1999, 13579, 250, 134, 12345678, 000000, 584520, 1023, 1024, 1977, 132, 3344520, 124, 1213, 118, 1976, 1225, 1020, 1025, 530, 159753, 456789, 112233, 8520, 147258369, 525, 1012, 199, 123654, 234, 002, 1028, 420, 214, 315, 128, 211314, 00000, 1975, 213, 1026, 1018, 113, 1001, 150, 9999, 117, 1120, 122, 1015, 753, 114, 1016, 945, 1125, 1013, 654, 1218, 111111, 009, 1121, 1022, 987654321, 1021, 1004, 1224, 1221, 1215, 314, 789456, 666666,
 【附录-常用密码】复制代码
. , .. , ... , ** , !@# , ++ , @@ , ./ , + , _ , _ , !@ , // , *** , !! , * , ! , @# , ?? , /* , .... , .+ , !!! , */ , +++ , ..... , @@@ , +. , /. , ??? , @! , .* , *. , !@#$ , @#$ , $ , ?! , /// , @. , [] , `` , ...... , ~!@ , **** , .? , ] , ## , () , .@ , !! , ;' , !? , !~ , !@#$% , !#!$ , ``` , ***** , .! , ~! , __ , @* , \\ , $ , ~~ , *+ , ..+ , %@) , *# , #@! , *** , @$ , %@! , *** , +* , !# , ~~~ , #$ , <> , ..++ , ....... , !. , , %% , ?. , +.. , <>? , !@#$%^ , ^^ , @.. , ???? , ++.. , ++. , && , @#$% , **.. , ..** , $ , ++++ , .++ , @?
 复制代码
princess, little, iubesc, carlos, address, daniel, monkey, pretty, ashley, forever, dragon, hannah, jordan, jessica, family, amo-te, justin, lovely, michael, andrea, nicole, 123456789, password, steven, rachel, lauren, purple, andres, chelsea, master, chocolate, secret, amanda, e-mailaddress, prince, naruto, miguel, 123456, andrew, charlie, daniela, brandon, friends, summer, celtic, joshua, liverpool, robert, thomas, johnny, martin, taylor, simple, soccer, brenda, golden, gangsta, joseph, killer, parola, nathan, sophie, angela, george, quiero, rangers, carolina, angels, adrian, football, mickey, samantha, shadow, shannon, 11111111, 12345678, austin, stupid, rockyou, victor, claudia, ginger, carlos, melissa, michelle, loving, matthew, vanessa, william, travis, street, andreea, always, banana, cherry, fluffy, fucking, louise, ricardo, tweety, sayang, anthony, forever, connor, alexis, elizabeth, password, password, cookie, cheese, corazon, daddys, chicken, beautiful, bianca, iubesc, princess, quiero, mariana, number, monica, richard, sharon, PRINCESS, change, claire, karina, gloria, junior, hector, javier, morgan, playboy, maggie, princess, smelly, sergio, password, beowulf, christian, danielle, callum, alejandra, iubire, iloveyou, jonathan, friend, qq2009, mother, orange, wicked, allostream, Princess, double, princess, billie, 123456, antonio, darren, arsenal, diamond, hem.se, gabriela, fashion, williams, jennifer, jessie, flores, kelsey, kirsty, jasmine, mexican, picture, marlon, forever, perfect, pplive, marian, natalia, family, patrick, silver, siempre, rafael, rabbit, triple, school, soulja, bubble, andrei, cameron, brother, buster, master, alexandra, declan, change, nicole, jeremy, hottie, fernando, gerard, people, familia, isabel, pokemon, romance, minnie, rebecca, sasuke, wilson, samuel, 111111, password, QUIERO, Michael, CARLOS, hunter, cassie, monkey, brittany, cristina, america, friend, freddy, gabriel, hunter, guitar, iubirea, oliver, please, princesa, friends, 123456
 
 
 【附录-各位频次统计】  
 
 
 |