智能手機的密碼鎖共有多少種

           智能手機掉了是一件很煩人的事,因爲裏面經常有一些祕密的文件,讓不少朋友提心吊膽,只能寄希望於密碼不讓人破解了。前幾天,死理性派編輯收到了一位讀者的提問:在 iPhone 和 Android 系統中各有多少種可能的密碼?這似乎是“生活中的數學”的一個絕佳案例,於是死理性派編輯打算立即動手開始計算。


Phone 有10000種密碼

iPhone 的密碼是一個四位數,從 0000 到 9999 都有可能成爲 iPhone 的密碼,總的可能性有 10000 種。Android 系統則獨具一格,它的“密碼”是 3 × 3 的點陣中的一條路徑,這條路徑最少連接四個點,最多連接九個點。因而,符合要求的路徑數最多可以達到 A(9, 4) + A(9, 5) + A(9, 6) + A(9, 7) + A(9, 8) + A(9, 9) = 985 824 種,看上去遠遠超過了 iPhone 的密碼數。不過,這只是 Android 密碼數的一個上限。Android 設置密碼時有不少限制,這給死理性派的分析帶來了巨大的障礙。仔細研究後,死理性派編輯發現——這恐怕是實際生活中最複雜的數學題之一了。


Android 有389 112 種密碼

Android 的密碼是 3 × 3 點陣中的一條路徑,這條路徑可以交叉,可以“走日字”,幾乎是無所不能(只要不經過重複點),但卻有一個例外:路徑不允許跳過途中必須要經過的點。例如, 如果從左上角的點連接到右上角的點,中間的那個點會被自動地加進路徑裏。但麻煩就麻煩在,這個規則本身也有一個值得注意的地方:如果中間的點是之前已經用過的,那麼這個點就可以被跳過去了。

http://img1.guokr.com/gkimage/e8/kt/3e/e8kt3e.png

我們不妨把點陣中的九個點分別用數字 1 到 9 編號。按照上述規則,4136、4192 都是不合法的,但 24136、654192 則都是可行的。死理性派這下苦惱了,似乎五花八門的組合數學模型在這裏都派不上用場。怎麼辦呢?別急,我們還有強大的計算機幫忙。下面,有請編輯最愛的數學軟件 Mathematica 登場。


首先,讓我們生成所有 985 824 種沒有限制的排列組合:

http://img1.guokr.com/gkimage/ui/mq/ym/uimqym.png

再記下不能直接連接的點對:

http://img1.guokr.com/gkimage/h2/va/in/h2vain.png

由此生成不合法的排列規則:

http://img1.guokr.com/gkimage/t7/wf/k1/t7wfk1.png

從全部排列組合中刪掉不合法的,便得到了所有可能的 Android 密碼了:

http://img1.guokr.com/gkimage/kl/hf/jv/klhfjv.png

Android 密碼一共有多少種可能性呢?讓我們來看看:

http://img1.guokr.com/gkimage/3n/kr/vx/3nkrvx.png

這樣,我們就得到了一個準確的數字:在 Android 系統上一共有 389 112 種可能的密碼,只佔之前估計的密碼數上限的 1/3 左右。



Android 的密碼要連接 6 個點纔夠強

別以爲 Android 的密碼可能性這麼多,你就能高枕無憂了。編輯身邊絕大多數的 Android 用戶,密碼路徑都只連接了四五個點。讓我們來看一看,在 389 112 種可能的密碼中,不同長度的密碼各佔多少:

http://img1.guokr.com/gkimage/nf/xd/9l/nfxd9l.png

可見,包含 4、5、6、7、8、9 個點的合法路徑數分別爲 1624、7152、26016、72912、140704、140704。如果你的密碼路徑連接的點數不到 6 個的話,可能的密碼總數只有 1624 + 7152 = 8776 個,還不如iPhone的密碼呢。

事實上,大多數用戶的密碼都是更簡單的路徑——路徑不與自身相交,並且所有線段都是水平、豎直或者 45 度傾斜的。這種路徑的數目就更少了。在此,死理性派編輯建議廣大 Android 用戶設定一些像 654192 一樣的怪異路徑,這樣纔算是一個足夠強的密碼。

發佈了32 篇原創文章 · 獲贊 9 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章