2012-01-01 4 views
0

나는 plist 파일에 신용 카드, 은행 정보 등을위한 사용자 로그인/암호 등을 저장하는 암호 응용 프로그램을 만들고 있습니다. 내가 봤 거든 어떻게 암호화 및 AES 암호화를 사용하여 문자열을 해독하는 키를 알아. 간단한 로그인과 비밀번호로 작동하도록했습니다. 나는 암호화하고있는 NSData로 로그인과 암호를 저장 한 다음 암호를 해독하고plist 파일을 암호화, 복호화 및 삭제하는 방법

- (NSData *)AES256EncryptWithKey:(NSString *)key; 
- (NSData *)AES256DecryptWithKey:(NSString *)key; 


- (NSData*) encryptString:(NSString*)plaintext withKey:(NSString*)key; 
- (NSString*) decryptData:(NSData*)ciphertext withKey:(NSString*)key; 

사용자가 홈 버튼을 눌러 내 응용 프로그램을 종료 할 때 내가하고 싶은 것은, 내가 password.plist 파일을 암호화 할 읽기 암호화 된 데이터 파일로 저장 한 다음 아이폰에서 읽을 수있는 password.plist xml 파일을 삭제하십시오. (password.plist 파일에는 여러 행 (예 : 신용 카드 정보, 신용 카드 정보 등)이 포함됩니다.

사용자가 다시 로그인하면 password.plist 파일을 해독하고 다시 만들고 싶습니다. 누구든지 이것이 어떻게 할 수 있는지 알고 있습니까?

답변

3
    키 체인 서비스를 사용하여 암호를 암호화 할 수 있습니다.
  • NSFileProtectionComplete을 사용하면 plist 파일을 암호화 할 수 있습니다.

고유 한 프로토콜을 만들려고하기 전에 (예 : 시스템에서 암호화 된 데이터의 무결성이 보장되는 경우) 암호화 프로토콜을 올바르게 구현 한 다른 사람에게 의존하는 것이 가장 좋습니다. 애플은 이미 이런 점에서 꽤 좋은 일을 해왔다.

+0

그레이엄, 애플이 승인 한 파일 암호화 방법을 가르쳐 주시겠습니까? 나는 AES256EncryptWithKey가 사과 승인 된 암호화이고 암호화 및 암호 해독 애플 함수라고 생각했습니다. 예 : - (NSData *) encryptString : (NSString *) 일반 텍스트 withKey : (NSString *) key { \t return [[일반 텍스트 데이터 사용 인코딩 : NSUTF8StringEncoding] AES256EncryptWithKey : 키]; } ... –

+1

사용 가능한 API에 대한 참조를 제공 했으므로 developer.apple.com의 설명서에서 자세한 내용을 찾아 볼 수 있습니다. 'AESEncryptWithKey :'는 SDK의 일부가 아니며'NSData'에 추가 된 사람의 카테고리입니다. –

관련 문제