Navajo-Swift
密码验证器与强度评估器
Navajo 以第二次世界大战时期著名的 纳瓦霍代码通信兵 为名。
原始项目
此项目与原始项目不兼容。
安装
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请求 :)
许可证
Navajo-Swift可在MIT许可证下使用。有关更多信息,请参阅LICENSE文件。