Navajo-Swift 2.1.0

Navajo-Swift 2.1.0

测试测试过
Lang语言 SwiftSwift
许可证 MIT
Released上次发布2019年6月
SPM支持 SPM

Jason Nam 维护。



Navajo-Swift

密码验证器与强度评估器

Navajo 以第二次世界大战时期著名的 纳瓦霍代码通信兵 为名。

原始项目

由 Mattt Thompson 编写的 Navajo

此项目与原始项目不兼容。

安装

Platform Swift 4.0 Travis-CI Carthage compatible Version

Carthage

github "jasonnam/Navajo-Swift"

CocoaPods

use_frameworks!
pod 'Navajo-Swift'
import Navajo_Swift

手册

仅需将“源”文件夹中的文件复制到您的项目中。

使用方法

评估密码强度

密码强度通过信息熵来评估。

let password = passwordField.text ?? ""
let strength = Navajo.strength(ofPassword: password)

strengthLabel.text = Navajo.localizedString(forStrength: strength)

验证密码

let lengthRule = LengthRule(min: 6, max: 24)
let uppercaseRule = RequiredCharacterRule(preset: .LowercaseCharacter)

validator = PasswordValidator(rules: [lengthRule, uppercaseRule])

if let failingRules = validator.validate(password) {
    validationLabel.textColor = .red
    validationLabel.text = failingRules.map({ return $0.localizedErrorDescription }).joined(separator: "\n")
} else {
    validationLabel.textColor = .green
    validationLabel.text = "Valid"
}

可用验证规则

  • 允许的字符
  • 必需字符(自定义,小写,大写,十进制,符号)
  • 非字典单词
  • 最小/最大长度
  • 谓词匹配
  • 正则表达式匹配
  • 块评估

如果您使用谓词和正则表达式规则,请记住,当密码匹配到这些规则时,它被认为是无效的。例如,我们可以通过规则对象检查用户是否使用"password123"作为密码。

let rule = PredicateRule(predicate: NSPredicate(format: "SELF BEGINSWITH %@", "PASSWORD"))

对于块规则,如果块返回true,则被认为是无效的。

本地化

可本地化的字符串键本地化教程或检查仓库中的演示应用程序。

密码强度

  • NAVAJO_VERY_WEAK
  • NAVAJO_WEAK
  • NAVAJO_REASONABLE
  • NAVAJO_STRONG
  • NAVAJO_VERY_STRONG

密码验证

  • NAVAJO_ALLOWED_CHARACTER_ERROR
  • NAVAJO_REQUIRED_CHARACTER_REQUIRED_ERROR
  • NAVAJO_REQUIRED_CHARACTER_LOWERCASE_ERROR
  • NAVAJO_REQUIRED_CHARACTER_UPPERCASE_ERROR
  • NAVAJO_REQUIRED_CHARACTER_DECIMAL_DIGIT_ERROR
  • NAVAJO_REQUIRED_CHARACTER_SYMBOL_ERROR
  • NAVAJO_DICTIONARYWORD_ERROR
  • NAVAJO_LENGTH_ERROR
  • NAVAJO_PREDICATE_ERROR
  • NAVAJO_REGEX_ERROR
  • NAVAJO_BLOCK_ERROR

联系

欢迎任何反馈和pull请求 :)

Jason Nam
网站
电子邮箱

许可证

Navajo-Swift可在MIT许可证下使用。有关更多信息,请参阅LICENSE文件。