gui202420 发表于 2015-10-14 12:22:04

手机解锁:图案、数字谁更强?


手机九宫格解锁到底安全不?九宫格能画出多少图案啊?我自己设置的九宫格总是被同学分分钟破解ORZ......
九宫格的安全性还是毋庸置疑的,不过很多朋友在录入图案的时候,要么会嫌麻烦,只利用几个点去画图案,要么是想要提升安全性,却总是画不出复杂的图形。

其实九宫格是有一定的限制条件的,安卓的九宫格密码可以看做是3×3点阵中的一条路径,只要你在画的时候,不经过重复的点,同时不跳过途中必须要经过的点,那么这条路径几乎是无所不能的。举个简单的例子,如果从左上角的点连接到右上角的点,中间的那个点就会被自动加到路径里。不过还有一个有趣的情况是,如果中间的点是之前已经用过的,那么这个点就可以被跳过去。

那么善加利用规则,我们总共能画出多少图案呢?此前已经有代码大神通过代码算出了具体的答案,他们把点阵中的九个点分别用数字1到9编号。然后用python写了段代码,先计算出所有大于四个数字的所有排列组合,然后从中剃除穿过中间那个数字的组合,剩下的就是符合要求的代码。
按照规则,1、3组合是不可能存在的,因为它会穿过2,1、9组合也不可能存在,因为它会穿过5,总共有16个这样的组合。同样按照规则,如果中间的数字已经用过了,是可以穿过的,比如2、1、3,2已经用过了,1是可以穿过2与3连接的。如此筛选以后,就得到了答案---389112。也就是说,简简单单的九宫格,可以画出389112个图案。以下是代码,有兴趣的朋友可以自行研究。


那么,既然九宫格有如此多的图案可能,为什么网友的图案密码还会很容易被破解呢?这就是小编前面说的路径利用率的问题,我们身边的大部分安卓用户,在设置九宫格图案时,往往都只会利用四五个点。此前也曾有善用代码的大神解读过这一问题,通过代码,我们就可以很直观的看到,在这389112种可能的密码中,不同长度的密码,其可能性也是不同的。

可以看到,包含4、5、6、7、8、9个点的合法路径数分别为1624、7152、26016、72912、140704、140704。如果你的密码路径连接的点数不到6个的话,可能的密码总数只有1624 + 7152=8776个。一般来说,密码组合的可能性不过万,被破解的几率就很高了,如果你用的是非常常见的密码,那么别人破解起来自然跟玩儿似的,如果你真的不想让你的密码被破解,那么至少也要利用六个点,这样你的九宫格才有一定的安全性可言。
说到这儿,可能有人会问了,那iPhone的密码组合一共有多少可能性呢?我们知道,苹果手机的密码是四位数,也就是说从0000到9999都可能成为iPhone的密码,所以算下来,总的可能性有10000种,相比于九宫格而言,其安全性要差一些,当然,如果你使用九宫格,却只利用6个点以下的点来画图案,那么就可能比iPhone手机的密码还要更容易破解一些。


页: [1]
查看完整版本: 手机解锁:图案、数字谁更强?