iPhone : Plist, SQLite 또는 쿠키에 사용자 데이터를 저장 하시겠습니까?

StackOverflow https://stackoverflow.com/questions/5972027

  •  12-11-2019
  •  | 
  •  

문제

내 앱 (예 : 대부분)은 많은 원격 서비스를 활용할 것입니다 ... 따라서 사용자가 자신을 인증하면 사용자 이름과 비밀번호를 저장할 필요가 없으므로 사용자 이름과 비밀번호를 저장해야합니다.앱 전체를 모두 인증합니다.

이 사용자 데이터를 저장할 수있는 가장 좋거나 가장 빠른 위치는 어디에 있습니까?

도움이 되었습니까?

해결책

사용자 이름과 서버 URL을 NSUSERDEFAULTS로 저장할 수 있지만 암호를 저장하는 경우 키 체인 서비스가 가장 좋은 아이디어입니다.그것은 C 기반 보안 프레임 워크의 일부입니다. 훌륭한 래퍼 클래스 sfhfkeychainutils, objective-c api를 제공합니다.

저장 :

NSString *username = @"myname";
NSString *password = @"mypassword";
NSURL *serverURL = [NSURL URLWithString:@"http://www.google.com"];

[SFHFKeychainUtils storeUsername:username andPassword:password forServiceName:[serverURL absoluteString] updateExisting:YES error:&error]
.

복원하려면

NSString *passwordFromKeychain = [SFHFKeychainUtils getPasswordForUsername:username andServiceName:[serverURL absoluteString] error:&error];
.

다른 팁

nsuserdefaults

다음과 같이 저장 :

[[NSUserDefaults standardUserDefaults] setObject:username    forKey:@"username"];
[[NSUserDefaults standardUserDefaults] setObject:password forKey:@"password"];
[[NSUserDefaults standardUserDefaults] synchronize];
.

이처럼 가져옵니다 :

    NSString *username = [[NSUserDefaults standardUserDefaults] stringForKey:@"username"];
    NSString *password = [[NSUserDefaults standardUserDefaults] stringForKey:@"password"];
.

안전하지 않은 파일 (사용자 기본값)에 보안 데이터를 저장하는 것은 일반적으로 좋은 아이디어가 아닙니다.중요한 로그인 정보를 암호화하는 Keychain 서비스를 살펴보십시오.

http://developer.apple.com/library/Mac / # 설명서 / 보안 / 개념 / KeychainServConcepts / iPhonetasks / iphonetasks.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top