作者: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
复制代码
【附录-各位频次统计】
|