iphone 認可此iphone iOS密碼強度檢查器




認可此iphone (3)

尋找針對objective-c的密碼強度檢查程序的建議。 我做了一些Google搜索,沒有找到任何點擊,在這裡也沒有。 我可以寫一個,但認為我會先在這裡檢查 - 有誰實現了一個?


我只知道兩個體面的密碼強度估計器zxcvbn (在CoffeeScript中,編譯為JavaScript)和Passfault (在Java中,似乎是用作Web應用程序)。

(實際上,這只是一個輕微的謊言,我曾經讀過的一篇博士論文中有一篇,但我不確定我把鏈接放在哪裡)。

我仔細研究過的每一個其他密碼“強度”檢查工具都是有缺陷的,通常是很有缺陷的(例如,GRC的“乾草堆”假設一個非常愚蠢的暴力行為,即使是開源的密碼破解程序也更複雜) - 前一天,一個大型的英國忠誠卡計劃的密碼強度計告訴我,“1Aa”是一個“好”的密碼(“好”是最高的評級)。

(另一個問題是所需的密碼強度取決於它的使用方式:像“W1mCj6B1”這樣的48位密碼適用於Google帳戶,但是作為Windows / Mac登錄密碼或WPA密碼短語卻非常弱)。

在Objective-C中,我認為你不太可能找到一個體面的,因為它們很稀有。 如果你最終寫了一個,我有幾點建議:

  • 用C寫(或者C ++)。 這不會花費太多,而且會更便攜; Objective-C把你和OS X和iOS聯繫起來的方式很相似,就像.NET把你和Windows聯繫起來一樣(理論上你可以把運行時移植到其他平台上;實際上,它們在這些平台之外的使用會少得多)。 為了增加使用量,可以添加一個Objective-C API。
  • 決定如何處理非ASCII字符(以及一般的非英語語言)。 基本上有兩種選擇:
    • 不允許他們(人們習慣了吧?)
    • 映射到ASCII 以進行強度估計 ,例如通過剝離重音符號(請參閱NSWidthInsensitiveSearchNSDiacriticInsensitiveSearch )並跳過一些圈來將I / I / I映射到I / I / SS。 還有kCFStringTransformToLatin ,它承諾將大多數腳本音譯成拉丁字母。 這一點不需要在C語言中,因為它很大程度上依賴於Unicode庫,儘管你可能可以使用ICU。

最後,密碼強度估計是一個難題。 猜猜2jmj7l5rSw0yVb_vlWAYkK_YBwk的實力。 現在問Google。



馬特·湯普森(Mattt Thompson)為此創建了一個圖書館(見這個答案 )。 這是我找到的最好的選擇。

https://github.com/mattt/Navajo





passwords