安卓的九宮格和iOS的數(shù)字解鎖,誰更強(qiáng)?

2015-06-04 13:33:20來源:電腦報作者:

九宮格的安全性還是毋庸置疑的,不過很多朋友在錄入圖案的時候,要么會嫌麻煩,只利用幾個點去畫圖案,要么是想要提升安全性,卻總是畫不出復(fù)雜的圖形。

網(wǎng)友提問:手機(jī)九宮格解鎖到底安全不?九宮格能畫出多少圖案啊?我自己設(shè)置的九宮格總是被同學(xué)分分鐘破解......

九宮格的安全性還是毋庸置疑的,不過很多朋友在錄入圖案的時候,要么會嫌麻煩,只利用幾個點去畫圖案,要么是想要提升安全性,卻總是畫不出復(fù)雜的圖形。

其實九宮格是有一定的限制條件的,安卓的九宮格密碼可以看做是3×3點陣中的一條路徑,只要你在畫的時候,不經(jīng)過重復(fù)的點,同時不跳過途中必須要經(jīng)過的點,那么這條路徑幾乎是無所不能的。舉個簡單的例子,如果從左上角的點連接到右上角的點,中間的那個點就會被自動加到路徑里。不過還有一個有趣的情況是,如果中間的點是之前已經(jīng)用過的,那么這個點就可以被跳過去。

\

那么善加利用規(guī)則,我們總共能畫出多少圖案呢?此前已經(jīng)有代碼大神通過代碼算出了具體的答案,他們把點陣中的九個點分別用數(shù)字1到9編號。然后用python寫了段代碼,先計算出所有大于四個數(shù)字的所有排列組合,然后從中剃除穿過中間那個數(shù)字的組合,剩下的就是符合要求的代碼。

按照規(guī)則,1、3組合是不可能存在的,因為它會穿過2,1、9組合也不可能存在,因為它會穿過5,總共有16個這樣的組合。同樣按照規(guī)則,如果中間的數(shù)字已經(jīng)用過了,是可以穿過的,比如2、1、3,2已經(jīng)用過了,1是可以穿過2與3連接的。如此篩選以后,就得到了答案---389112。也就是說,簡簡單單的九宮格,可以畫出389112個圖案。以下是代碼,有興趣的朋友可以自行研究。

\

那么,既然九宮格有如此多的圖案可能,為什么網(wǎng)友的圖案密碼還會很容易被破解呢?這就是小編前面說的路徑利用率的問題,我們身邊的大部分安卓用戶,在設(shè)置九宮格圖案時,往往都只會利用四五個點。此前也曾有善用代碼的大神解讀過這一問題,通過代碼,我們就可以很直觀的看到,在這389112種可能的密碼中,不同長度的密碼,其可能性也是不同的。

\

可以看到,包含4、5、6、7、8、9個點的合法路徑數(shù)分別為1624、7152、26016、72912、140704、140704。如果你的密碼路徑連接的點數(shù)不到6個的話,可能的密碼總數(shù)只有1624 + 7152=8776個。一般來說,密碼組合的可能性不過萬,被破解的幾率就很高了,如果你用的是非常常見的密碼,那么別人破解起來自然跟玩兒似的,如果你真的不想讓你的密碼被破解,那么至少也要利用六個點,這樣你的九宮格才有一定的安全性可言。

說到這兒,可能有人會問了,那iPhone的密碼組合一共有多少可能性呢?我們知道,蘋果手機(jī)的密碼是四位數(shù),也就是說從0000到9999都可能成為iPhone的密碼,所以算下來,總的可能性有10000種,相比于九宮格而言,其安全性要差一些,當(dāng)然,如果你使用九宮格,卻只利用6個點以下的點來畫圖案,那么就可能比iPhone手機(jī)的密碼還要更容易破解一些。