重點(diǎn) (十五) : MD5

MD5
什么是MD5
全稱是Message Digest Algorithm 5,譯為“消息摘要算法第5版”
效果:對(duì)輸入信息生成唯一的128位散列值(32個(gè)字符)

MD5的特點(diǎn)
輸入兩個(gè)不同的明文不會(huì)得到相同的輸出值
根據(jù)輸出值,不能得到原始的明文,即其過(guò)程不可逆

MD5的應(yīng)用
由于MD5加密算法具有較好的安全性蒲肋,而且免費(fèi),因此該加密算法被廣泛使用
主要運(yùn)用在數(shù)字簽名、文件完整性驗(yàn)證以及口令加密等方面

MD5解密網(wǎng)站:http://www.cmd5.com

1.png

2.png

MD5改進(jìn)

現(xiàn)在的MD5已不再是絕對(duì)安全,對(duì)此扰肌,可以對(duì)MD5稍作改進(jìn),以增加解密的難度

加鹽(Salt):在明文的固定位置插入隨機(jī)串熊杨,然后再進(jìn)行MD5

先加密曙旭,后亂序:先對(duì)明文進(jìn)行MD5,然后對(duì)加密得到的MD5串的字符進(jìn)行亂序

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

3.png

上面的情況會(huì)造成以下問(wèn)題
用戶流量的浪費(fèi)
程序響應(yīng)速度不夠快

思考:如何解決夷狰?

4.png

5.png

6.png

7.png

緩存的實(shí)現(xiàn)

一般只對(duì)GET請(qǐng)求進(jìn)行緩存,不必對(duì)POST請(qǐng)求進(jìn)行緩存

GET請(qǐng)求一般用來(lái)查詢數(shù)據(jù)

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

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

iOS 5之前:只支持 內(nèi)存緩存

iOS 5開(kāi)始:同時(shí)支持 內(nèi)存緩存和 硬盤緩存

NSURLCache了解

緩存原理:一個(gè)NSURLRequest對(duì)應(yīng)一個(gè)NSCachedURLResponse

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

NSURLCache

NSURLCache的常見(jiàn)用法

獲得全局緩存對(duì)象(沒(méi)必要手動(dòng)創(chuàng)建)

NSURLCache *cache = [NSURLCache sharedURLCache];

設(shè)置內(nèi)存緩存的最大容量(字節(jié)為單位,默認(rèn)為512KB)

-(void)setMemoryCapacity:(NSUInteger)memoryCapacity;

設(shè)置硬盤緩存的最大容量(字節(jié)為單位爷绘,默認(rèn)為10M)

-(void)setDiskCapacity:(NSUInteger)diskCapacity;

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

取得某個(gè)請(qǐng)求的緩存

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

清除某個(gè)請(qǐng)求的緩存
-(void)removeCachedResponseForRequest:(NSURLRequest *)request;

清除所有的緩存

  • (void)removeAllCachedResponses;

緩存GET請(qǐng)求

要想對(duì)某個(gè)GET請(qǐng)求進(jìn)行數(shù)據(jù)緩存书劝,非常簡(jiǎn)單

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

設(shè)置緩存策略

request.cachePolicy= NSURLRequestReturnCacheDataElseLoad;

只要設(shè)置了緩存策略进倍,系統(tǒng)會(huì)自動(dòng)利用NSURLCache進(jìn)行數(shù)據(jù)緩存

緩存策略

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

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

NSURLRequestReloadIgnoringLocalCacheData 忽略緩存,重新請(qǐng)求

NSURLRequestReloadIgnoringLocalAndRemoteCacheData 未實(shí)現(xiàn)

NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData 忽略緩存购对,重新請(qǐng)求

NSURLRequestReturnCacheDataElseLoad

有緩存就用緩存猾昆,沒(méi)有緩存就重新請(qǐng)求

NSURLRequestReturnCacheDataDontLoad

有緩存就用緩存,沒(méi)有緩存就不發(fā)請(qǐng)求骡苞,當(dāng)做請(qǐng)求出錯(cuò)處理(用于離線模式)

NSURLRequestReloadRevalidatingCacheData 未實(shí)現(xiàn)

緩存的使用注意

緩存看起來(lái)很美好垂蜗,但需要謹(jǐn)慎使用

如果請(qǐng)求某個(gè)URL的返回?cái)?shù)據(jù)

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

一成不變:果斷用緩存

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

如果大量使用緩存贴见,會(huì)越積越大,建議

定期清除緩存

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


1.HTTPS的基本使用

1.https簡(jiǎn)單說(shuō)明

HTTPS(全稱:Hyper
Text Transfer Protocol over Secure Socket Layer)躲株,是以安全為目標(biāo)的HTTP通道片部,簡(jiǎn)單講是HTTP的安全版。

即HTTP下加入SSL層霜定,HTTPS的安全基礎(chǔ)是SSL档悠,因此加密的詳細(xì)內(nèi)容就需要SSL。
它是一個(gè)URI scheme(抽象標(biāo)識(shí)符體系)望浩,句法類同http:體系辖所。用于安全的HTTP數(shù)據(jù)傳輸。

https:URL表明它使用了HTTP磨德,但HTTPS存在不同于HTTP的默認(rèn)端口及一個(gè)加密/身份驗(yàn)證層(在HTTP與TCP之間)缘回。

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

一、https協(xié)議需要到ca申請(qǐng)證書剖张,一般免費(fèi)證書很少切诀,需要交費(fèi)。

二搔弄、http是超文本傳輸協(xié)議幅虑,信息是明文傳輸,https 則是具有安全性的ssl加密傳輸協(xié)議顾犹。

三倒庵、http和https使用的是完全不同的連接方式,用的端口也不一樣炫刷,前者是80擎宝,后者是443。

四浑玛、http的連接很簡(jiǎn)單绍申,是無(wú)狀態(tài)的;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議极阅,比http協(xié)議安全胃碾。

2.對(duì)開(kāi)發(fā)的影響。

2.1 如果是自己使用NSURLSession來(lái)封裝網(wǎng)絡(luò)請(qǐng)求筋搏,涉及代碼如下仆百。

  • (void)touchesBegan:(NSSet *)touches
    withEvent:(UIEvent *)event

{

NSURLSession *session = [NSURLSession
sessionWithConfiguration:[NSURLSessionConfiguration
defaultSessionConfiguration] delegate:self
delegateQueue:[NSOperationQueue mainQueue]];

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

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

}];

[task

resume];

}

只要請(qǐng)求的地址是HTTPS的, 就會(huì)調(diào)用這個(gè)代理方法

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

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

protectionSpace : 受保護(hù)區(qū)域

NSURLAuthenticationMethodServerTrust : 證書的類型是 服務(wù)器信任

  • (void)URLSession:(NSURLSession *)session
    didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge
    completionHandler:(void
    (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential *))completionHandler

{

NSLog(@"didReceiveChallenge

%@", challenge.protectionSpace);

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

 1.判斷服務(wù)器返回的證書類型,

是否是服務(wù)器信任

if
([challenge.protectionSpace.authenticationMethod
isEqualToString:NSURLAuthenticationMethodServerTrust]) {

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

 


     NSURLSessionAuthChallengeUseCredential

= 0, 使用證書

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

NSURLSessionAuthChallengeCancelAuthenticationChallenge = 2, 忽略書證, 并取消這次請(qǐng)求

NSURLSessionAuthChallengeRejectProtectionSpace = 3,
拒絕當(dāng)前這一次, 下一次再詢問(wèn)

     NSURLCredential *credential = [NSURLCredential

credentialForTrust:challenge.protectionSpace.serverTrust];

NSURLCredential *card = [[NSURLCredential
alloc]initWithTrust:challenge.protectionSpace.serverTrust];

completionHandler(NSURLSessionAuthChallengeUseCredential , card);

}

}

2.2 如果是使用AFN框架,那么我們不需要做任何額外的操作奔脐,AFN內(nèi)部已經(jīng)做了處理俄周。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市髓迎,隨后出現(xiàn)的幾起案子峦朗,更是在濱河造成了極大的恐慌,老刑警劉巖竖般,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件甚垦,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡涣雕,警方通過(guò)查閱死者的電腦和手機(jī)艰亮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)挣郭,“玉大人迄埃,你說(shuō)我怎么就攤上這事《艺希” “怎么了侄非?”我有些...
    開(kāi)封第一講書人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)流译。 經(jīng)常有香客問(wèn)我逞怨,道長(zhǎng),這世上最難降的妖魔是什么福澡? 我笑而不...
    開(kāi)封第一講書人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任叠赦,我火速辦了婚禮,結(jié)果婚禮上革砸,老公的妹妹穿的比我還像新娘除秀。我一直安慰自己,他們只是感情好算利,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布册踩。 她就那樣靜靜地躺著,像睡著了一般效拭。 火紅的嫁衣襯著肌膚如雪暂吉。 梳的紋絲不亂的頭發(fā)上胖秒,一...
    開(kāi)封第一講書人閱讀 51,573評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音慕的,去河邊找鬼扒怖。 笑死,一個(gè)胖子當(dāng)著我的面吹牛业稼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蚂蕴,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼低散,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了骡楼?” 一聲冷哼從身側(cè)響起熔号,我...
    開(kāi)封第一講書人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鸟整,沒(méi)想到半個(gè)月后引镊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡篮条,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年弟头,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片涉茧。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡赴恨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出伴栓,到底是詐尸還是另有隱情伦连,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布钳垮,位于F島的核電站惑淳,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏饺窿。R本人自食惡果不足惜歧焦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望短荐。 院中可真熱鬧倚舀,春花似錦、人聲如沸忍宋。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)糠排。三九已至舵稠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背哺徊。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工室琢, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人落追。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓盈滴,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親轿钠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子巢钓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • MD5 什么是MD5 全稱是Message Digest Algorithm 5,譯為“消息摘要算法第5版” 效果...
    指尖猿閱讀 1,663評(píng)論 0 1
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理疗垛,服務(wù)發(fā)現(xiàn)症汹,斷路器,智...
    卡卡羅2017閱讀 134,657評(píng)論 18 139
  • 一贷腕、概念(載錄于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434閱讀 8,354評(píng)論 6 152
  • 一背镇、GET/POST方法簡(jiǎn)介&用戶安全 1、GET/POST方法簡(jiǎn)介 在客戶端和服務(wù)器之間進(jìn)行請(qǐng)求-響應(yīng)時(shí),兩種最...
    方圓十里不留母狗閱讀 31,920評(píng)論 0 13
  • 花間說(shuō) 文/五瓣丁香 走進(jìn)院中泽裳, 一排排磚石布滿清晰可見(jiàn)的青苔瞒斩, 烙下或深或淺的歲月痕跡。 磚石的兩旁長(zhǎng)滿了鮮花诡壁,...
    寫意式閱讀 162評(píng)論 0 0