Эй, так что я подумал, что было бы здорово, если бы я сделал небольшое приложение, которое сгенерировало случайный пароль, а затем приложение выполнило все возможности и попыталось выяснить, что пароль подсказывает мне, как он много раз пытался это сделать. Иногда приложение работает, иногда он падает, зависит от того, что такое пароль. Я хотел знать, что было что-то, что я мог сделать, чтобы остановить его от сбоев, используя до большой памяти. Это метод.закончился из памяти из цикла for
-(void)hackString
{
NSString *string;
NSString *string1;
NSString *string2;
NSString *string3;
NSString *string4;
NSString *string5;
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^(void){
NSString *hackedString;
for (string in self.validLetters) {
//[hackedString appendString:string];
for (string1 in self.validLetters) {
//[hackedString appendString:string1];
for (string2 in self.validLetters) {
//[hackedString appendString:string1];
for (string3 in self.validLetters) {
//[hackedString appendString:string1];
for (string4 in self.validLetters) {
for (string5 in self.validLetters) {
hackedString = [NSString stringWithFormat:@"%@%@%@%@%@%@",string,string1,string2,string3,string4,string5];
// NSLog(@"%@",hackedString);
[self testStringWithPassword:hackedString];
}
}
}
}
}
}
});
}
Есть ли что-нибудь, что я должен делать, чтобы остановить его от сбоев?
Вы используете цикл O (n^6)! – CodaFi
для жизни меня, я не могу понять, какого черта вы хотите достичь с этой сумасшедшей 6 глубокой петлей. Строить все возможные строки с действительными буквами? – John
@John Yup - это взломщик паролей на 6 символов, что я могу сказать. Увлекательный учебный взлом; эта кроличья дыра идет глубоко. – bbum