Как зашифровать, расшифровать и удалить файл plist - PullRequest
0 голосов
/ 01 января 2012

Я создаю приложение для паролей, которое хранит логины / пароли пользователей и т.д. для кредитной карты, банковские данные и т. Д. В файле plist.Я гуглил и знаю, как зашифровать и расшифровать строку, используя шифрование AES с ключом.Я получил это, чтобы работать для простого логина и пароля.Я шифрую и сохраняю логин и пароль в NSdata, а затем дешифрую и читаю его

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


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

Что я хочу сделать, так это когда пользователь выходит из моего приложения, нажав кнопку home, я хочу зашифровать пароль.Сохраните файл plist как зашифрованный файл данных, а затем удалите читаемый xml-файл password.plist со своего iPhone.(файл password.plist будет состоять из нескольких строк, значений, например, информация о кредитной карте1, информация о кредитной карте2 и т. д.)

Когда пользователь снова входит в систему, я хочу расшифровать и воссоздать файл password.plist.Кто-нибудь знает, как это можно сделать?

1 Ответ

3 голосов
/ 01 января 2012
  • вы можете использовать Keychain Services для шифрования пароля.
  • вы можете использовать NSFileProtectionComplete для шифрования вашего plist-файла для вас.

Всегда лучше полагаться на то, что кто-то еще правильно внедрил протокол шифрования, прежде чем пытаться создать собственный протокол (например, где в вашей системе будет обеспечена целостность зашифрованных данных?). Apple уже проделала довольно хорошую работу в этом отношении, так что просто используйте их вещи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...