Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何加密、解密和删除plist文件_Iphone_Xcode4_Ios4 - Fatal编程技术网

Iphone 如何加密、解密和删除plist文件

Iphone 如何加密、解密和删除plist文件,iphone,xcode4,ios4,Iphone,Xcode4,Ios4,我正在制作一个密码应用程序,将信用卡、银行信息等的用户登录名/密码等存储到plist文件中。我在谷歌上搜索过,我知道如何使用AES加密和密钥对字符串进行加密和解密。我得到了简单的登录和密码工作。我加密并将登录名和密码保存到NSdata,然后解密并读取它 - (NSData *)AES256EncryptWithKey:(NSString *)key; - (NSData *)AES256DecryptWithKey:(NSString *)key; - (NSData*) encryptSt

我正在制作一个密码应用程序,将信用卡、银行信息等的用户登录名/密码等存储到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按钮退出我的应用程序时,我想加密password.plist文件,将其保存为加密数据文件,然后从他的iPhone中删除可读的password.plist xml文件。(password.plist文件将包含多行值,例如信用卡1信息、信用卡2信息等)

当用户重新登录时,我想解密并重新创建password.plist文件。有人知道怎么做吗?

  • 您可以使用密钥链服务为您加密密码
  • 您可以使用
    NSFileProtectionComplete
    为您加密plist文件
在您尝试创建自己的协议之前(例如,在您的系统中哪里可以确保加密数据的完整性?),最好依靠其他人正确地实现了加密协议。苹果在这方面已经做得很好了,所以就用他们的东西吧。

  • 您可以使用密钥链服务为您加密密码
  • 您可以使用
    NSFileProtectionComplete
    为您加密plist文件

在您尝试创建自己的协议之前(例如,在您的系统中哪里可以确保加密数据的完整性?),最好依靠其他人正确地实现了加密协议。苹果在这方面已经做得很好了,所以就用他们的东西吧。

Graham,你能告诉我苹果批准的文件加密方式吗?我认为AES256EncryptWithKey是苹果公司认可的加密,加密和解密调用苹果公司的函数。e、 g-(NSData*)encryptString:(NSString*)带密钥的明文:(NSString*)密钥{return[[plaintext dataUsingEncoding:NSUTF8StringEncoding]AES256EncryptWithKey:key];}……我已经给出了您可以使用的API的参考,您可以在developer.apple.com上的文档中查找它们以了解更多详细信息
AESEncryptWithKey:
不是SDK的一部分,它是添加到
NSData
中的某人(写得很差)的类别。Graham,你能告诉我苹果批准的文件加密方式吗?我认为AES256EncryptWithKey是苹果公司认可的加密,加密和解密调用苹果公司的函数。e、 g-(NSData*)encryptString:(NSString*)带密钥的明文:(NSString*)密钥{return[[plaintext dataUsingEncoding:NSUTF8StringEncoding]AES256EncryptWithKey:key];}……我已经给出了您可以使用的API的参考,您可以在developer.apple.com上的文档中查找它们以了解更多详细信息
AESEncryptWithKey:
不是SDK的一部分,它是添加到
NSData
中的某人(写得不好)的类别。