iOS网络编程开发-数据加密

iOS网络编程开发-数据加密

一、简单说明

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 HMViewController
11 
12 - (void)viewDidLoad
13 {
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 *)str
25 {
26     NSString *anwen = [str md5String];
27     NSLog(@"%@ - %@", str, anwen);
28     return anwen;
29 }
30 
31 /**
32  *  加盐
33  */
34 - (NSString *)digest2:(NSString *)str
35 {
36     str = [str stringByAppendingString:Salt];
37     
38     NSString *anwen = [str md5String];
39     NSLog(@"%@ - %@", str, anwen);
40     return anwen;
41 }
42 
43 /**
44  *  多次MD5
45  */
46 - (NSString *)digest3:(NSString *)str
47 {
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 *)str
60 {
61     NSString *anwen = [str md5String];
62     
63     // 注册:  123 ----  2CB962AC59075B964B07152D234B7020
64     
65     // 登录: 123 --- 202CB962AC59075B964B07152D234B70
66     
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
View Code

 

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

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

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

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

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

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

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

转载于:https://www.cnblogs.com/asd5551680/p/4164482.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/257887.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/257887.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Codeforces 821C - Okabe and Boxes

821C - Okabe and Boxes 思路&#xff1a;模拟。因为只需要比较栈顶和当前要删除的值就可以了&#xff0c;所以如果栈顶和当前要删除的值不同时&#xff0c;栈就可以清空了(因为下一次的栈顶不可能出现在前面那些值中)。 代码&#xff1a; #include<bits/stdc.h> using n…

Java中forEach, 用来遍历数组

这里的for是Java中forEach, 用来遍历数组的。for(int i : d) 就是遍历int型数组d的 每一次访问数组d的时候读取的数据放入int型的i中。和for(int i0;i<d.length();i)是一样的&#xff0c;但是forEach的可用场合较多。public class e1 {public static void main(String[] …

HDU -2546饭卡(01背包+贪心)

这道题有个小小的坎&#xff0c;就是低于5块不能选&#xff0c;大于5块&#xff0c;可以任意选&#xff0c;所以就在初始条件判断一下剩余钱数&#xff0c;然后如果大于5的话&#xff0c;这时候就要用到贪心的思想&#xff0c;只要大于等于5&#xff0c;先找最大的那个&#xf…

图片向上滚动字幕代码html,如何通过制作滚动字幕的软件实现这种片尾的向上滚动字幕效果...

如何制作滚动字幕 特殊滚动类字幕制作 向上向下向左向右滚动字幕制作效果 含拖动和消失全程 真是酷B了爽呆了&#xff0c;赶快学习吧&#xff01;电影、连续剧等影视作品片尾&#xff0c;都会在播放片尾曲时&#xff0c;出现向上滚动的字幕&#xff0c;显示演员表、导演、编剧等…

【图片服务器】搭建Nginx图片服务器

一、安装Nginx 二、安装vsftpd 三、开始搭建Nginx图片服务器 1、效果 例如&#xff1a;图片通过ftp服务上传到/home/ftpuser/www/images目录下&#xff0c;我想通过访问Nginx服务器来访问ftp目录下的图片文件&#xff0c;该url为http://192.168.128.128/images/xxx.jpg。即使用…

JavaScript数组去重

1、数组去重&#xff1b; Array类型并没有提供去重复的方法&#xff0c;如果要把数组的重复元素干掉&#xff0c;那得自己想办法&#xff1a; 方法一&#xff1a;利用indexOf方法&#xff1b; var aa[1,3,5,4,3,3,1,4] function arr(arr) {var result[]for(var i0; i<arr.le…

html怎么让方块自动旋转,如何使用纯CSS实现一个圆环旋转错觉的动画效果(附源码)...

本篇文章给大家带来的内容是关于如何使用纯CSS实现一个圆环旋转错觉的动画效果&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你有所帮助。效果预览源代码下载https://github.com/comehope/front-end-daily-challenges代码解读定义 dom&…

同志亦凡人第五季/全集BQueer As Folk 5迅雷下载

同志亦凡人 第五季 Queer as Folk Season 5 (2005) 本季看点&#xff1a;这是一群生活在匹兹堡男人和男人&#xff0c;女人和女人的故事。在他们的王国里有各色人物。王国的国王Brian&#xff08;葛尔?哈罗德 Gale Harold 饰&#xff09;&#xff0c;只追求性不问爱&#xff1…

2016,请不要在公司混日子!

1、无论为谁打工&#xff0c;要为自己学东西&#xff0c;客观上为公司创造价值。 我自己当年&#xff0c;无论我在方正给国内企业工作&#xff0c;还是我在雅虎给外国人工作&#xff0c;我都跟别人最大的不一样&#xff0c;我从来不觉得我在给他们打工&#xff0c;我真的可能是…

数据库作业[定时执行任务]的创建

--每月执行的作业 exec p_createjob jobnamemm,sqlselect * from syscolumns,freqtypemonth --每周执行的作业 exec p_createjob jobnameww,sqlselect * from syscolumns,freqtypeweek --每日执行的作业 exec p_createjob jobnamea,sqlselect * from syscolumns --每日执行的作…

《算法之道》精华 经典算法部分

《算法之道》精华 经典算法部分 本书作者邹恒明&#xff0c;作者另有一本书《数据结构之弦》&#xff0c;以及《操作系统之哲学原理》都是非常好的书这本书能够算得上是深入浅出&#xff0c;文笔非常好。作者加入了非常多自己的思考本文包含经典算法部分第十章 排序与次序 插入…

学生社团网站html,学生社团活动平台的设计与实现.docx

PAGE 67学生社团活动平台的设计与实现摘 要本系统立足于实现社团活动申请与审批、资源申请与审批等工作&#xff0c;面向高校中所有的社团&#xff0c;建立一个使用便捷、可靠的社团活动平台&#xff0c;从而更方便地进行社团活动的申请、社团资源的申请及相应审批&#xff0c;…

tornado 学习笔记17 HTTPServerRequest分析

代表Http请求。 所有的属性都是字符串型。 17.1 属性 (1) method:请求方法类型&#xff0c;比如”GET”、”POST” (2) uri: 请求的uri (3) path:请求路径&#xff0c;作为uri的一部分。 (4) query&#xff1a;查询字符串&#xff1a;作为uri的一部分。 (5) version&#xff1a…

Android 动画效果及Interpolator和AnimationListener的使用

转载http://www.itzhai.com/android-animation-used-to-achieve-control-of-animation-effects-and-use-of-interpolator-and-animationlistener.htmlandroid:interpolator可能有很多人不理解它的用法&#xff0c;文档里说的也不太清楚&#xff0c;其实很简单&#xff0c;看下面…

html怎么使图片无法另存为,如何禁止图片另存为?禁止网页另存为到本地的方法...

在很多企事业单位&#xff0c;处于商业机密保护的需要&#xff0c;常常需要禁止一些文件格式的“另存为”功能&#xff0c;防止通过“另存为”将文件另行保存&#xff0c;据为己有的目的&#xff1b;尤其是在局域网中访问服务器共享文件的时候&#xff0c;常常需要禁止将共享文…

正益工场为京西创客工场输送双创“软”实力

12月30日&#xff0c;中关村门头沟科技园“京西创客工场”正式揭牌&#xff0c;这里将成为京西“生态科创”的聚集地。正益工场作为唯一入驻的“移动互联网”双创生态平台&#xff0c;将为双创输送“移动技术移动模式”等软实力。北京市副市长隋振江、市政协、中关村管委会等领…

【动态规划】【线段树】 Codeforces Round #426 (Div. 1) B. The Bakery

给你一个序列&#xff0c;让你划分成K段&#xff0c;每段的价值是其内部权值的种类数&#xff0c;让你最大化所有段的价值之和。 裸dp f&#xff08;i&#xff0c;j&#xff09;max{f&#xff08;k&#xff0c;j-1&#xff09;w&#xff08;k1&#xff0c;i&#xff09;}&#…

几种服务器端IO模型的简单介绍及实现(转载)

作者&#xff1a;阿凡卢 出处&#xff1a;http://www.cnblogs.com/luxiaoxun/服务器端几种模型&#xff1a; 1、阻塞式模型&#xff08;blocking IO&#xff09; 我们第一次接触到的网络编程都是从 listen()、accpet()、send()、recv() 等接口开始的。使用这些接口可以很方便的…

html细边框表格代码,html中表格细边框的四种实现及其比较.doc

html中表格细边框的四种实现及其比较?html中表格细边框的四种实现及其比较第一种使用css!--- 华丽的分隔线。。 -- .box ?border-top-width: 1px;?border-right-width: 0px;?border-bottom-width: 0px;?border-left-width: 1px;?border-top-style: solid;?border-right-…

margin 等高布局

<div id"main"><div id"left">我是左边的内容的啦啦啦啦。。。。<br> 我是左边的内容的啦啦啦啦。。。。<br> 我是左边的内容的啦啦啦啦。。。。<br> 我是左边的内容的啦啦啦啦。。。。<br> 我是左边的内容的啦啦啦啦…