转自:http://blog.csdn.net/lmf208/article/details/7750632
#pragma mark - 判断密码强度函数
//判断是否包含
+ (BOOL) judgeRange:(NSArray*) _termArray Password:(NSString*) _password
{
NSRange range;
BOOLresult =NO;
for(inti=0; i<[_termArray count]; i++)
{
range = [_password rangeOfString:[_termArray objectAtIndex:i]];
if(range.location != NSNotFound)
{
result =YES;
}
}
returnresult;
}
//条件
+ (NSString*) judgePasswordStrength:(NSString*) _password
{
NSMutableArray* resultArray = [[NSMutableArray alloc] init];
NSArray* termArray1 = [[NSArray alloc] initWithObjects:@"a", @"b", @"c", @"d", @"e", @"f", @"g", @"h", @"i", @"j", @"k", @"l", @"m", @"n", @"o", @"p", @"q", @"r", @"s", @"t", @"u", @"v", @"w", @"x", @"y", @"z", nil];
NSArray* termArray2 = [[NSArray alloc] initWithObjects:@"1", @"2", @"3", @"4", @"5", @"6", @"7", @"8", @"9", @"0", nil];
NSArray* termArray3 = [[NSArray alloc] initWithObjects:@"A", @"B", @"C", @"D", @"E", @"F", @"G", @"H", @"I", @"J", @"K", @"L", @"M", @"N", @"O", @"P", @"Q", @"R", @"S", @"T", @"U", @"V", @"W", @"X", @"Y", @"Z", nil];
NSArray* termArray4 = [[NSArray alloc] initWithObjects:@"~",@"`",@"@",@"#",@"$",@"%",@"^",@"&",@"*",@"(",@")",@"-",@"_",@"+",@"=",@"{",@"}",@"[",@"]",@"|",@":",@";",@"“",@"'",@"‘",@"<",@",",@".",@">",@"?",@"/",@"、", nil];
NSString* result1 = [NSString stringWithFormat:@"%d",[self judgeRange:termArray1 Password:_password]];
NSString* result2 = [NSString stringWithFormat:@"%d",[self judgeRange:termArray2 Password:_password]];
NSString* result3 = [NSString stringWithFormat:@"%d",[self judgeRange:termArray3 Password:_password]];
NSString* result4 = [NSString stringWithFormat:@"%d",[self judgeRange:termArray4 Password:_password]];
[resultArray addObject:[NSString stringWithFormat:@"%@",result1]];
[resultArray addObject:[NSString stringWithFormat:@"%@",result2]];
[resultArray addObject:[NSString stringWithFormat:@"%@",result3]];
[resultArray addObject:[NSString stringWithFormat:@"%@",result4]];
int intResult=0;
for (int j=0; j<[resultArray count]; j++)
{
if ([[resultArray objectAtIndex:j] isEqualToString:@"1"])
{
intResult++;
}
}
NSString* resultString = [[NSString alloc] init];
if (intResult <2)
{
resultString = @"密码强度低,建议修改";
}
elseif (intResult == 2&&[_password length]>=6)
{
resultString = @"密码强度一般";
}
if (intResult > 2&&[_password length]>=6)
{
resultString = @"密码强度高";
}
return resultString;
}
声明:包含大写/小写/数字/特殊字符
两种以下密码强度低
两种密码强度中
大于两种密码强度高
分享到:
相关推荐
3. **规则定制**:开发者可以根据应用需求自定义判断密码强度的规则,比如最小长度、是否包含数字、特殊字符等。 4. **错误提示**:对于不符合安全标准的密码,组件可以提供提示信息,指导用户改进。 5. **API集成**...
在iOS开发中,用户界面的交互性和数据准确性是至关重要的,特别是在涉及到用户输入时。`UITextField`是苹果iOS SDK提供的一种基本控件,用于接收用户的文本输入。在实际应用中,我们经常需要对用户输入的数据进行...
在IT领域,尤其是在移动设备和物联网(IoT)中,WiFi热点扫描、信号强度判断以及安全连接是至关重要的操作。本文将深入探讨这些知识点,并提供详细的解析。 首先,WiFi热点扫描是通过设备上的无线适配器来搜索并列出...
总之,在iOS开发中判断字符串是否包含空格,可以通过查找字符串中的特定字符来实现。通过封装一个方法,你可以轻松地在不同的场景中复用这个功能,确保密码输入的有效性和安全性。在实际应用中,根据需求调整空格的...
2. 密码强度:判断密码是否满足特定条件,如长度、包含字符类型等。 3. 必填项:确保用户必须填写某些textField,否则无法继续操作。 在mytabledemo项目中,可能还涉及到了UITableView与UITextField的结合使用。...
而密码强度评估器则会根据这些标准给出密码的安全等级。 Navajo可能是一个项目名称,它可能涉及到一些先进的密码学概念或者安全实践,例如使用多因素认证、生物识别技术或分布式存储来增强密码安全性。然而,由于...
开发者可以利用RSSI来判断网络的质量,帮助用户选择信号最强的网络。 4. **网络认证与加密**:WiFi网络可能采用不同的安全认证方式,如WEP、WPA/WPA2或WPA3。每个协议的安全性和加密方法不同,连接时需要提供正确的...
2. **输入验证**:监听用户在文本字段中的输入,确保用户名和密码不为空,可能还会包含格式检查,如密码强度要求。 3. **网络请求**:使用URLSession或第三方库(如Alamofire)发送HTTP请求到服务器进行身份验证。...
- 移动设备兼容性:包括iOS和Android平台的不同版本。 - 硬件兼容性:例如不同品牌的打印机、扫描仪等外设。 - 数据库兼容性:确保软件能在多种数据库管理系统下运行。 #### 性能瓶颈排查 - **问题描述**:在...
6. **负载类型**:并发用户测试模拟多用户同时操作,疲劳强度负载测试系统长时间运行的稳定性,大数据量负载测试系统处理大量数据的能力。 7. **性能测试指标**:并发用户数、交易执行吞吐量和响应时间是关键,它们...