IOS-plist文件DES加密
转载请说明出处:http://www.cnblogs.com/gexun/p/3705207.html,谢谢。
这些天一直在做一个知识问答的项目,因为初赛的项目题目比较少,所以题目就写在本地的plist文件里面了,直接读取就可以了。
公司PM担心题目泄露,所以要我们给plist文件加密,这下可把我搞残了,因为我从来没搞过加密,网上查了很多资料,都是简单的字符串加密,没有专门对plist文件加密,后来实在没办法,请教了公司里的大神,最后搞定了。特地在这里把方法告诉跟我一样的ios菜鸟,希望对你有所帮助,若有大牛有更好的办法,希望指出和改进。
我用的是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 = [[ NSBundle mainBundle] pathForResource:@ "team" ofType: nil ]; if (filePath) { NSString *str = [ NSString stringWithContentsOfURL:[ NSURL fileURLWithPath: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" ]); } } } return nil ; } |
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
IOS-plist文件DES加密的更多相关文章
- iOS Plist 文件的 增 删 改
一:Plist 文件的创建 Plist 文件作为我们IOS开发的一种数据存储文件,还是经常会用到的.在看<X-code江湖录>的时候,看到了这一点.自己就写了一下,把写的东西分享出来!先看 ...
- iOS plist文件的读写
原帖:http://blog.csdn.net/totogo2010/article/details/7634185 在做iOS开发时,经常用到到plist文件, 那plist文件是什么呢? 它全名 ...
- iOS,plist文件、pct文件,工程设置
1.使用pch文件 2.在info.plist中配置URL Schemes 3.plist配置拍照界面,复制,粘贴等菜单的显示语言 显示中文 4.使用非ARC库/ARC库 5.链接选项-Objc &a ...
- iOS Plist文件,增删改查
今天早上,9点开始弄Plist,然后一直写,一直写(中午取出40分钟吃饭时间),写到1点,写完了,交给头,头说,不是这个意思.我是每个用户创建了一个文件夹,在这个用户的文件夹里面,分别根据应用创建了文 ...
- IOS plist文件
转自:http://www.cnblogs.com/geraldzhang/archive/2011/08/24/2152121.html 在Mac OS X 的Cocoa ,NeXTSTEP 和GN ...
- des 加密 iOS
转载请注明原文出处 生成同名的Des.h文件和Des.m文件后,拷贝下方的代码可直接使用.注意在Des.m文件中将key值修改为项目所需的key.---> #define DesKey 过程很 ...
- iOS DES 加密转base64
//用法 加密转base 64 NSString *str = [self base64StringFromText:@"qingjoin" withKey:@"ke ...
- (iOS)Base64加密和DES加密、以及JAVA和iOS中DES加密统一性问题
我们在项目中为了安全方面的考虑,通常情况下会选择一种加密方式对需要安全性的文本进行加密,而Base64加密和DES64加密是常用的加密算法.我记得我在前一个项目中使用的就是这两种加密算法的结合:Bas ...
- iOS 开发之路(AES/DES加密实现) 三
最近接触的这个项目由于以前服务器上用的是DES/CBC/PKCS5Padding加密方式,为了让在iOS上的加密结果与服务器端保持一致,我做了很多尝试,现在分享给大家.PS:现在不推荐用DES了,只是 ...
随机推荐
- Project Euler Problem3
Largest prime factor Problem 3 The prime factors of 13195 are 5, 7, 13 and 29. What is the largest p ...
- [转] caffe数据层参数说明
原文地址:http://www.cnblogs.com/denny402/p/5070928.html 稍有修改: 数据层是每个模型的最底层,是模型的入口,不仅提供数据的输入,也提供数据从Blobs转 ...
- HTML5练习4
1.菜单条 主要代码 <!doctype html> <html> <head> <meta charset="utf-8"> &l ...
- Linux磁盘空间扩容(LVM)
Linux磁盘空间扩容(lvm) 随着系统的运行时间增长,业务数据的增长,原有磁盘的空间会存在空间不足情况,导致系统不能正常运行,或者系统管理员磁盘没有完全划完,根据使用者的需求自行划分.那么怎么才能 ...
- JQuery 获取除某指定对象外的其他对象 :not() 与.not()
.not() 遍历方法 从匹配元素集合中移除元素 :not() 选择器 选取除了指定元素以外的所有元素 .siblings() 遍历方法 返回被选元素的所有同级元素 需排除对象单数个(1个) 获取 ...
- Zookeeper Canary
ZooKeeper Canary我理解用于测试ZK节点是否正常的心跳服务,这是从ClouderaManager中粘下来的: 这是 ZooKeeper 服务级运行状况测试,用于检查基本客户端操作是否正常 ...
- java 常用面试题
基础问题和思想:1.抽象类和接口的区别(单纯的语法区别只能给一半分,要说出来适用场景):2.hashcode()和equals()的关系:3.HashMap(Set)底层机制(用到的数据结构以及代码原 ...
- vue打包以及在Apache环境下的配置
vue打包,我们都清楚,实在记不住命令的可以去package.json中看: npm run build 打包后会生成dist文件夹,将dist文件夹下的所有文件复制到Apache下的www的文件夹下 ...
- css 控制文字超出时显示省略号
不多说,直接看代码吧: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...
- hdu 4407 容斥原理
题意: 1 //一组数据 3 3 //数字为1-3,3次运算 2 2 3 //将2号位变成3 1 1 3 4 //计算1-3号位上与4互质的数的和 1 2 3 6 好题,需要重复练习 #include ...