iphone - iOS 密码强度检查器

标签 iphone ios objective-c security passwords

寻找有关 objective-c 密码强度检查器的建议。我做了一些谷歌搜索,没有找到任何命中,也没有找到。我可以写一个,但我想我会先在这里检查 - 有人实现了吗?

最佳答案

我只知道两个一般的密码强度估计器:zxcvbn (在 CoffeeScript 中,编译为 JavaScript)和 Passfault (在 Java 中,似乎旨在用作网络应用程序)。

(实际上,这是一个轻微的谎言;我前一段时间读了一篇博士论文,但我不确定我把链接放在哪里。)

我详细查看过的所有其他密码“强度”检查器都存在缺陷,通常很深有缺陷(例如 GRC 的“haystacks”采用非常愚蠢的蛮力;甚至是开源密码破解程序更复杂)——前几天,英国一家大型成员(member)卡计划的密码强度计告诉我,“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/ss。还有 kCFStringTransformToLatin promise 将大多数脚本音译为拉丁字母表。这一点不需要在 C 中,因为它在很大程度上依赖于 Unicode 库,尽管您可以使用 ICU。

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

关于iphone - iOS 密码强度检查器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14543974/

相关文章:

objective-c - 未正确设置可变字典键

ios - 无法从 facebook、ios 获取电子邮件。始终获取 null

iOS:覆盖子类中父类(super class)的setter属性

iphone - 覆盖 TableView.Scrolled 后标题消失

ios - 更新Google Plus和Facebook SDK后,应用在设备(iOS 6)上崩溃

ios - 保存 NSManagedObjectContext 的最佳实践

ios - 标签到指定坐标的动画移动

iphone - 什么时候 NSURLResponse 不是 NSHTTPURLResponse?

ios - 如果 App Store iOS 中有新版本的应用程序可用,是否有适当的方法在应用程序内通知用户?

ios - 如何在带有 7.0.4 的越狱 iPad 3 中不使用 wi-fi 安装 afc2add?