2013-06-07 2 views
0

В моем приложении я выполняю различные запросы по API-интерфейсу сервера. Когда я делаю эти запросы, часть моего класса реквестере является:Как сохранить аутентификацию сервера в исходном коде

NSString *authString = [[[NSString stringWithFormat:@"serverUsername:serverPass"]dataUsingEncoding:NSUTF8StringEncoding] base64EncodedString]; 
NSString *verifString = [NSString stringWithFormat:@"Basic %@",authString]; 
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
NSData *myRequestData = [NSData dataWithBytes:[ms UTF8String] length:[ms length]]; 
[request setHTTPBody:myRequestData]; 

Я не включая все исходный код, но у меня есть еще строки, что я не хочу, чтобы он был виден в источнике код (отпечатки пальцев и т. д.).

Я искал код обфускации, но безуспешно. Есть ли способ предотвратить, чтобы строки учетных данных были видны в x-коде?

ответ

1

Я думаю, что лучший способ - сохранить его в файле plist.

- (NSString *)saveRecommendUserData { 
    NSError *error; 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSString *path = [documentsDirectory stringByAppendingPathComponent:@"Userdata.plist"]; 
    NSFileManager *fileManager = [NSFileManager defaultManager]; 

    if (![fileManager fileExistsAtPath:path]) 
    { 
     NSString *bundle = [[NSBundle mainBundle] pathForResource:@"Userdata" ofType:@"plist"]; 
     [fileManager copyItemAtPath:bundle toPath: path error:&error]; 
    } 

    return path; 
} 
+0

Здравствуйте Калли, PLIST, безусловно, хороший инструмент, но я хочу, чтобы предотвратить человек с моим .Pa или моими источниками, просто открыть и прочитать все мои пароли :) – Yanchi

+0

я думаю, что это не хорошая идея вообще , если вы храните все пароли в файле в своем приложении. вот почему вы нормально храните их на сервере и используете их с f.e. OAuth. http://lukeredpath.co.uk/blog/oauth2-for-iphone-and-ipad-applications.html – zero3nna

+0

, и если вы сохраните их в своем коде, всегда есть способ сделать все. видимо, если кто-то еще получает ваш код или файл .pa – zero3nna

Смежные вопросы