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
英文地址,請注明出處:http://en.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> 我是左邊的內容的啦啦啦啦…