什么是MD5

MD5

什么是MD5

全稱是Message

Digest Algorithm 5,譯為“消息摘要算法第5版”

效果:對輸入信息生成唯一的128位散列值(32個字符)

MD5的特點

輸入兩個不同的明文不會得到相同的輸出值

根據(jù)輸出值,不能得到原始的明文脓魏,即其過程不可逆

MD5的應用

由于MD5加密算法具有較好的安全性蓖乘,而且免費沿侈,因此該加密算法被廣泛使用

主要運用在數(shù)字簽名霹娄、文件完整性驗證以及口令加密等方面

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

MD5改進

現(xiàn)在的MD5已不再是絕對安全觉啊,對此拣宏,可以對MD5稍作改進,以增加解密的難度

加鹽(Salt):在明文的固定位置插入隨機串杠人,然后再進行MD5

先加密勋乾,后亂序:先對明文進行MD5宋下,然后對加密得到的MD5串的字符進行亂序

… …

總之宗旨就是:黑客就算攻破了數(shù)據(jù)庫,也無法解密出正確的明文

上面的情況會造成以下問題

用戶流量的浪費

程序響應速度不夠快

思考:如何解決辑莫?

緩存的實現(xiàn)

一般只對GET請求進行緩存杨凑,不必對POST請求進行緩存

GET請求一般用來查詢數(shù)據(jù)

POST請求一般是發(fā)大量數(shù)據(jù)給服務器處理(變動性比較大)

在iOS中,可以使用NSURLCache類緩存數(shù)據(jù)

iOS 5之前:只支持內存緩存

iOS 5開始:同時支持內存緩存和硬盤緩存

NSURLCache了解

緩存原理:一個NSURLRequest對應一個NSCachedURLResponse

緩存技術:數(shù)據(jù)庫

NSURLCache

NSURLCache的常見用法

獲得全局緩存對象(沒必要手動創(chuàng)建)

NSURLCache*cache = [NSURLCachesharedURLCache];

設置內存緩存的最大容量(字節(jié)為單位摆昧,默認為512KB)

-(void)setMemoryCapacity:(NSUInteger)memoryCapacity;

設置硬盤緩存的最大容量(字節(jié)為單位撩满,默認為10M)

-(void)setDiskCapacity:(NSUInteger)diskCapacity;

硬盤緩存的位置:沙盒/Library/Caches

取得某個請求的緩存

-(NSCachedURLResponse*)cachedResponseForRequest:(NSURLRequest*)request;

清除某個請求的緩存

-(void)removeCachedResponseForRequest:(NSURLRequest*)request;

清除所有的緩存

- (void)removeAllCachedResponses;

緩存GET請求

要想對某個GET請求進行數(shù)據(jù)緩存,非常簡單

NSMutableURLRequest*request = [NSMutableURLRequestrequestWithURL:url];

設置緩存策略

request.cachePolicy=NSURLRequestReturnCacheDataElseLoad;

只要設置了緩存策略绅你,系統(tǒng)會自動利用NSURLCache進行數(shù)據(jù)緩存

緩存策略

iOS對NSURLRequest提供了7種緩存策略:(實際上能用的只有3種)

NSURLRequestUseProtocolCachePolicy默認的緩存策略(取決于協(xié)議)

NSURLRequestReloadIgnoringLocalCacheData忽略緩存伺帘,重新請求

NSURLRequestReloadIgnoringLocalAndRemoteCacheData未實現(xiàn)

NSURLRequestReloadIgnoringCacheData =NSURLRequestReloadIgnoringLocalCacheData忽略緩存,重新請求

NSURLRequestReturnCacheDataElseLoad

有緩存就用緩存忌锯,沒有緩存就重新請求

NSURLRequestReturnCacheDataDontLoad

有緩存就用緩存伪嫁,沒有緩存就不發(fā)請求,當做請求出錯處理(用于離線模式)

NSURLRequestReloadRevalidatingCacheData未實現(xiàn)

緩存的使用注意

緩存看起來很美好偶垮,但需要謹慎使用

如果請求某個URL的返回數(shù)據(jù)

經常更新:不能用緩存张咳!比如股票、彩票數(shù)據(jù)

一成不變:果斷用緩存

偶爾更新:可以定期更改緩存策略 或者 清除緩存

如果大量使用緩存似舵,會越積越大脚猾,建議

定期清除緩存

**********************筆記***********************

*************************************************

1.HTTPS的基本使用

1.https簡單說明

HTTPS(全稱:Hyper

Text Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道砚哗,簡單講是HTTP的安全版龙助。

即HTTP下加入SSL層,HTTPS的安全基礎是SSL蛛芥,因此加密的詳細內容就需要SSL提鸟。

它是一個URI scheme(抽象標識符體系),句法類同http:體系仅淑。用于安全的HTTP數(shù)據(jù)傳輸称勋。

https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默認端口及一個加密/身份驗證層(在HTTP與TCP之間)涯竟。

2.HTTPS和HTTP的區(qū)別主要為以下四點:

一赡鲜、https協(xié)議需要到ca申請證書,一般免費證書很少昆禽,需要交費蝗蛙。

二蝇庭、http是超文本傳輸協(xié)議醉鳖,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協(xié)議哮内。

三盗棵、http和https使用的是完全不同的連接方式壮韭,用的端口也不一樣,前者是80纹因,后者是443喷屋。

四、http的連接很簡單瞭恰,是無狀態(tài)的屯曹;HTTPS協(xié)議是由SSL+HTTP協(xié)議構建的可進行加密傳輸、身份認證的網絡協(xié)議惊畏,比http協(xié)議安全恶耽。

2.對開發(fā)的影響。

2.1如果是自己使用NSURLSession來封裝網絡請求颜启,涉及代碼如下偷俭。

- (void)touchesBegan:(NSSet *)toucheswithEvent:(UIEvent *)event

{

NSURLSession *session = [NSURLSessionsessionWithConfiguration:[NSURLSessionConfigurationdefaultSessionConfiguration] delegate:selfdelegateQueue:[NSOperationQueue mainQueue]];

NSURLSessionDataTask *task =? [session dataTaskWithURL:[NSURLURLWithString:@"https://www.apple.com"]completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

NSLog(@"%@", [[NSStringalloc] initWithData:data encoding:NSUTF8StringEncoding]);

}];

[task

resume];

}

只要請求的地址是HTTPS的,就會調用這個代理方法

我們需要在該方法中告訴系統(tǒng),是否信任服務器返回的證書

Challenge:挑戰(zhàn) 質問(包含了受保護的區(qū)域)

protectionSpace :受保護區(qū)域

NSURLAuthenticationMethodServerTrust :證書的類型是 服務器信任

- (void)URLSession:(NSURLSession *)sessiondidReceiveChallenge:(NSURLAuthenticationChallenge *)challengecompletionHandler:(void(^)(NSURLSessionAuthChallengeDisposition, NSURLCredential *))completionHandler

{

NSLog(@"didReceiveChallenge

%@", challenge.protectionSpace);

NSLog(@"調用了最外層");

1.判斷服務器返回的證書類型,是否是服務器信任

if([challenge.protectionSpace.authenticationMethodisEqualToString:NSURLAuthenticationMethodServerTrust]) {

NSLog(@"調用了里面這一層是服務器信任的證書");

NSURLSessionAuthChallengeUseCredential

= 0,使用證書

NSURLSessionAuthChallengePerformDefaultHandling = 1,忽略證書(默認的處理方式)

NSURLSessionAuthChallengeCancelAuthenticationChallenge = 2,忽略書證,并取消這次請求

NSURLSessionAuthChallengeRejectProtectionSpace = 3,拒絕當前這一次,下一次再詢問

NSURLCredential *credential = [NSURLCredentialcredentialForTrust:challenge.protectionSpace.serverTrust];

NSURLCredential *card = [[NSURLCredential

alloc]initWithTrust:challenge.protectionSpace.serverTrust];

completionHandler(NSURLSessionAuthChallengeUseCredential , card);

}

}

2.2如果是使用AFN框架,那么我們不需要做任何額外的操作缰盏,AFN內部已經做了處理涌萤。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市口猜,隨后出現(xiàn)的幾起案子负溪,更是在濱河造成了極大的恐慌,老刑警劉巖济炎,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件笙以,死亡現(xiàn)場離奇詭異,居然都是意外死亡冻辩,警方通過查閱死者的電腦和手機猖腕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來恨闪,“玉大人倘感,你說我怎么就攤上這事×剩” “怎么了老玛?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長钧敞。 經常有香客問我蜡豹,道長,這世上最難降的妖魔是什么溉苛? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任镜廉,我火速辦了婚禮,結果婚禮上愚战,老公的妹妹穿的比我還像新娘娇唯。我一直安慰自己齐遵,他們只是感情好,可當我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布塔插。 她就那樣靜靜地躺著梗摇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪想许。 梳的紋絲不亂的頭發(fā)上伶授,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天,我揣著相機與錄音流纹,去河邊找鬼谎砾。 笑死,一個胖子當著我的面吹牛捧颅,可吹牛的內容都是我干的景图。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼碉哑,長吁一口氣:“原來是場噩夢啊……” “哼挚币!你這毒婦竟也來了?” 一聲冷哼從身側響起扣典,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤妆毕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后贮尖,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體笛粘,經...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年湿硝,在試婚紗的時候發(fā)現(xiàn)自己被綠了薪前。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片关斜。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡示括,死狀恐怖,靈堂內的尸體忽然破棺而出痢畜,到底是詐尸還是另有隱情垛膝,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布丁稀,位于F島的核電站吼拥,受9級特大地震影響,放射性物質發(fā)生泄漏线衫。R本人自食惡果不足惜凿可,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望桶雀。 院中可真熱鬧矿酵,春花似錦唬复、人聲如沸矗积。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽棘捣。三九已至辜腺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間乍恐,已是汗流浹背评疗。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留茵烈,地道東北人百匆。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像呜投,于是被迫代替她去往敵國和親加匈。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理仑荐,服務發(fā)現(xiàn)雕拼,斷路器,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • MD5什么是MD5全稱是Message Digest Algorithm 5粘招,譯為“消息摘要算法第5版”效果:對輸...
    JonesCxy閱讀 352評論 0 4
  • 一啥寇、概念(載錄于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434閱讀 8,354評論 6 152
  • 如果好馬吃了回頭草 boss在前面談項目,許靜本來是在邊上守著的洒扎,奈何人有三急辑甜。趁著老板沒注意,許靜就溜了袍冷。 ...
    愛讀書的仙女asd閱讀 472評論 2 1
  • 這天栈戳,三人果然同時請了病假,一個個等到六點多才離開难裆,各自往各自家中去子檀,開始補一覺,拖著疲憊的身體乃戈,張小月跳到床上褂痰,...
    邂逅君閱讀 342評論 5 6