【问题标题】:iOS Password Strength CheckeriOS 密码强度检查器
【发布时间】:2013-01-27 02:54:52
【问题描述】:

寻找有关 Objective-c 密码强度检查器的建议。我做了一些谷歌搜索,没有找到任何点击,也没有在 SO 上找到。我可以写一个,但我想先在这里检查一下 - 有没有人实现过?

【问题讨论】:

  • 我希望尽可能避免存储用户密码。
  • 同意——尽管在这种情况下这是不可避免的。我计划散列并遵循其他良好做法。我想为我的用户提供方便,让密码仪表在输入密码时主动检查他们的密码。
  • 你有密码哈希吗?
  • 不,你有什么推荐的?
  • 我在 C 语言中的简单密码强度检查器可能对您有所帮助:github.com/hb20007/miscellaneous-programs/tree/master/…

标签: iphone ios objective-c security passwords


【解决方案1】:

我只知道两个密码强度不高的估算器zxcvbn(在 CoffeeScript 中,编译为 JavaScript)和 Passfault(在 Java 中,似乎打算用作 web 应用程序) .

(实际上,这是一个小小的谎言;我不久前读过一篇博士论文,但我不确定我把链接放在哪里。)

我查看过的所有其他密码“强度”检查器都有缺陷,通常严重有缺陷(例如 GRC 的“干草堆”假设非常愚蠢的蛮力;甚至开源密码破解器更复杂)——前几天,英国一家大型会员卡计划的密码强度计告诉我,“1Aa”是“GOOD”密码(“GOOD”是最高等级)。

(另一个问题是所需的密码强度取决于它的使用方式:像“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/ss。还有kCFStringTransformToLatin,它承诺将大多数脚本音译为拉丁字母。这个位不需要在 C 中,因为它在很大程度上依赖于 Unicode 库,尽管您可以使用 ICU。

最后,密码强度估计是一个难题。猜猜实力 2jmj7l5rSw0yVb_vlWAYkK_YBwk。现在询问 Google。

【讨论】:

  • 惊人的信息 - 很棒的链接。谢谢!我现在意识到密码估计器的深度和主观性。我将对该主题进行更多阅读,看看是否可以为我的项目找到一个快乐的媒介 - 幸运的是,我没有处理高度敏感的用户信息!
  • 密码“高度敏感的用户信息”——密码重复使用猖獗! IMO 这是尽可能避免使用密码的最大原因:泄露的密码数据库很容易被用来攻击用户的电子邮件帐户,并且密码哈希可以保护您的数量是有限的(因为它们必须足够快才能在繁忙的情况下执行服务器)。
【解决方案2】:

我为此创建了一个方法。我知道这是个老问题,但我认为现在是实际的,所以这里是代码的 url:

https://github.com/ruben-samsonyan/PasswordStrengthChecker/blob/master/passwordChecker.m

【讨论】:

    【解决方案3】:

    Mattt Thompson 为此创建了一个库(请参阅this answer)。这是我找到的最佳选择。

    https://github.com/mattt/Navajo

    【讨论】:

      猜你喜欢
      • 2010-11-26
      • 1970-01-01
      • 2016-12-04
      • 2021-07-13
      • 1970-01-01
      • 2014-10-26
      • 2012-06-16
      • 1970-01-01
      • 2011-01-05
      相关资源
      最近更新 更多