iOS开发网络篇—数据安全

来源:互联网 发布:mac中英文切换键失效 编辑:程序博客网 时间:2024/04/30 09:55

一、简单说明

1.说明

在开发应用的时候,数据的安全性至关重要,而仅仅用POST请求提交用户的隐私数据,还是不能完全解决安全问题。

如:可以利用软件(比如Charles)设置代理服务器,拦截查看手机的请求数据

“青花瓷”软件

因此:提交用户的隐私数据时,一定不要明文提交,要加密处理后再提交

 

2.常见的加密算法

MD5 \ SHA \ DES \ 3DES \ RC2和RC4 \ RSA \ IDEA \ DSA \ AES

3.加密算法的选择

一般公司都会有一套自己的加密方案,按照公司接口文档的规定去加密

 

二、MD5

1.简单说明

MD5:全称是Message Digest Algorithm 5,译为“消息摘要算法第5版”

效果:对输入信息生成唯一的128位散列值(32个字符)

 

2.MD5的特点

(1)输入两个不同的明文不会得到相同的输出值

(2)根据输出值,不能得到原始的明文,即其过程不可逆

 

3.MD5的应用

由于MD5加密算法具有较好的安全性,而且免费,因此该加密算法被广泛使用

主要运用在数字签名、文件完整性验证以及口令加密等方面

4.MD5破解

MD5解密网站:http://www.cmd5.com

5.MD5改进

现在的MD5已不再是绝对安全,对此,可以对MD5稍作改进,以增加解密的难度

加盐(Salt):在明文的固定位置插入随机串,然后再进行MD5

先加密,后乱序:先对明文进行MD5,然后对加密得到的MD5串的字符进行乱序

总之宗旨就是:黑客就算攻破了数据库,也无法解密出正确的明文

代码示例:

复制代码
 1 #import "HMViewController.h" 2 #import "NSString+Hash.h" 3  4 #define Salt @"fsdhjkfhjksdhjkfjhkd546783765" 5  6 @interface HMViewController () 7  8 @end 9 10 @implementation HMViewController11 12 - (void)viewDidLoad13 {14     [super viewDidLoad];15     16     [self digest:@"123"]; //17     [self digest:@"abc"];18     [self digest:@"456"];19 }20 21 /**22  *  直接用MD5加密23  */24 - (NSString *)digest:(NSString *)str25 {26     NSString *anwen = [str md5String];27     NSLog(@"%@ - %@", str, anwen);28     return anwen;29 }30 31 /**32  *  加盐33  */34 - (NSString *)digest2:(NSString *)str35 {36     str = [str stringByAppendingString:Salt];37     38     NSString *anwen = [str md5String];39     NSLog(@"%@ - %@", str, anwen);40     return anwen;41 }42 43 /**44  *  多次MD545  */46 - (NSString *)digest3:(NSString *)str47 {48     NSString *anwen = [str md5String];49     50     anwen = [anwen md5String];51     52     NSLog(@"%@ - %@", str, anwen);53     return anwen;54 }55 56 /**57  *  先加密, 后乱序58  */59 - (NSString *)digest4:(NSString *)str60 {61     NSString *anwen = [str md5String];62     63     // 注册:  123 ----  2CB962AC59075B964B07152D234B702064     65     // 登录: 123 --- 202CB962AC59075B964B07152D234B7066     67     NSString *header = [anwen substringToIndex:2];68     NSString *footer = [anwen substringFromIndex:2];69     anwen = [footer stringByAppendingString:header];70     71     NSLog(@"%@ - %@", str, anwen);72     return anwen;73 }74 @end
复制代码

(1)直接使用MD5加密(去MD5解密网站即可破解)

(2)使用加盐(通过MD5解密之后,很容易发现规律)

(3)多次MD5加密(使用MD5解密之后,发现还是密文,那就接着MD5解密)

(4)先加密,后乱序(破解难度增加)

三、注册和验证的数据处理过程

1.提交隐私数据的安全过程 – 注册

2.提交隐私数据的安全过程 – 登录


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 安卓8.0软件闪退怎么办 游戏与手机系统不兼容怎么办 耳机和手机不兼容怎么办 软件和手机不兼容怎么办 小米6开关键失灵怎么办 同步助手下载不了微信旧版本怎么办 闲鱼退货卖家拒收怎么办 闲鱼把联系人删了怎么办 闲鱼付款了卖家不发货怎么办 红米4c卡怎么办 如果买鞋子买到假的怎么办 猎趣永久封号钱怎么办 支付宝换绑定手机后怎么办 为什么回收站的删除键不见了怎么办 微信在异地登录怎么办 支付宝帐号被冻结怎么办 进不了路由器设置页面怎么办 支付宝支付密码忘记了怎么办 淘宝忘记登录密码了怎么办 手机换卡了微信怎么办 淘宝退款成功后收到货怎么办 没收到货退款商家不处理怎么办 没收到货申请退款卖家不处理怎么办 京东已收到货却不处理退款怎么办 货退了卖家不退款怎么办 淘宝退了货卖家不退款怎么办 手机淘宝不显示图片怎么办 京东申请退款卖家不处理怎么办 企业网银冻结了怎么办 农行k宝坏了怎么办 手机检测不到u盾怎么办 农行有k宝怎么办信用卡 k米怎么点不了怎么办 c1驾照被扣3分怎么办 淘宝账号被黑了怎么办 淘宝卖家号虚假交易违规怎么办 扣扣申诉成功后怎么办 微信二维码收款异常怎么办 国际包裹被退回去了怎么办 京东账号手机号换了怎么办 换手机号了淘宝账号怎么办