我用的是DES加密,不了解的同学可以先看看这2篇文章:
http://bbs.9ria.com/thread-242572-1-1.html
http://blog.csdn.net/kylinbl/article/details/8641246
接着,我们来梳理一下整个plist文件加密流程:
1.首先在你的工程里导入DES相关的文件
2.在你要加密的类里面导入DES头文件
3.写一个加密plist文件的方法,然后再viewDidLoad方法里面调用它,这里注意下plist文件格式要改变下,把你要加密的plist文件去掉.plist,你导入的文件不再是plist格式,打开方式也不是plist格式,而是xml格式。否则会编译不成功。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//生产加密题库
- (NSArray*)makeQuestionData;
{
NSString*filePath = [[NSBundlemainBundle] pathForResource:@"team"
ofType:nil];
if(filePath)
{
NSString*str = [NSStringstringWithContentsOfURL:[NSURLfileURLWithPath:filePath]
encoding:NSUTF8StringEncoding
error:NULL];
if(str)
{
NSString*desStr = [DES encryptString:str];
if(desStr)
{
[desStr writeToFile:[MHFileTool getLocalFilePath:@"jiamiTeam"]
atomically:YES
encoding:NSUTF8StringEncoding
error:NULL];
NSLog(@"---dest path:%@",[MHFileTool getLocalFilePath:@"jiamiTeam"]);
}
}
}
returnnil;
}
4.这样你的工程里就会在本地生成了你旧plist文件的对应的加密的plist文件
4.1 我们在这方法这边打个断点,然后一步一步往下走,走到我NSLog方法这边:
4.2 这时候控制台会打印出本地生成的加密文件的所在地址:(这里我用了第三方写入本地文件工具类MHFileTool,直接偷懒啦。)
4.3 这时候我们去程序本地的沙盒目录下取出加密的plist文件
5.在原来加密plist文件的方法上写一个解密plist文件,将刚刚生成的加密的plist文件替换原来的旧文件,这样加密工作就完成啦!
6.解密文件方法。直接调用解密方法即可,就不再一一赘述了。
7.本文代码Demo下载地址:http://download.csdn.net/detail/gary5510/7287315