iOS 前后端交互數(shù)據(jù)加密(RSA&AES組合使用)

一秉氧、前后端要做到安全的數(shù)據(jù)交互通常需要了解以下幾個(gè)技術(shù):

1、對(duì)稱加密:指加密和解密使用相同密鑰的加密算法演训,速度較快(包括DES算法弟孟,3DES算法,RC5算法样悟,AES算法等)拂募。可參考:http://www.reibang.com/p/f14dbe3a9692

2窟她、非對(duì)稱對(duì)稱加密:指加密和解密使用不同密鑰的加密算法陈症,速度較慢(包括RSA等)≌鹛牵可參考:http://www.reibang.com/p/3d24a74e72aehttp://www.reibang.com/p/74a796ec5038

3录肯、哈希算法:簡(jiǎn)單來說就是一種將數(shù)據(jù)通過算法變成不可逆的數(shù)據(jù)(包括:MD5、HMAC等)

4吊说、數(shù)字簽名:是一種類似寫在紙上的普通的物理簽名论咏,但是使用了公鑰加密領(lǐng)域的技術(shù)實(shí)現(xiàn),用于鑒別數(shù)字信息的方法颁井。

二潘靖、流程:

1 、首先需要有一對(duì)RSA的公鑰和私鑰 , 然后私鑰留在服務(wù)器,公鑰存放在本地;

2蚤蔓、通訊時(shí)卦溢,客戶端先將數(shù)據(jù)進(jìn)行簽名,簽名可參照微信支付將請(qǐng)求參數(shù)按照參數(shù)名ASCII碼從小到大排序(字典序)秀又,使用URL鍵值對(duì)的格式(即key1=value1&key2=value2…)進(jìn)行拼接单寂。然后用MD5進(jìn)行加密得到sign1。(溫馨提示:請(qǐng)求參數(shù)中可加入時(shí)間戳和隨機(jī)字符串吐辙,可防止重放攻擊

3 宣决、其次客戶端隨機(jī)生成一個(gè)字符串作為AES加密的key1,用AES加密算法來加密與服務(wù)器傳輸?shù)闹饕獌?nèi)容;

4、 最后 客戶端 使用RSA的 公鑰 將AES的key1進(jìn)行加密,與AES加密后的內(nèi)容和sign1一同傳輸給服務(wù)器;

5 昏苏、服務(wù)器 端先用RSA的 私鑰 將AES的key1進(jìn)行解密,然后使用這個(gè)key1來解密傳輸?shù)闹饕獌?nèi)容;

6尊沸、然后服務(wù)器運(yùn)用客戶端使用的簽名方法將主要內(nèi)容進(jìn)行簽名得到sign威沫,然后跟sign1進(jìn)行對(duì)比。如果相同即數(shù)據(jù)沒有被篡改洼专。

7棒掠、第5步確認(rèn)無誤后,服務(wù)器將要返回給客戶端的數(shù)據(jù)進(jìn)行簽名得到sign2屁商。

8烟很、然后隨機(jī)生成一個(gè)字符串作為AES加密的key2,用AES加密算法來加密需要返回的數(shù)據(jù)內(nèi)容;

9蜡镶、其次 服務(wù)器 再使用RSA的 私鑰 將AES的key2進(jìn)行加密,與AES加密后的內(nèi)容和sign2一同返回給客戶端;

10雾袱、客戶端 收到服務(wù)器返回的數(shù)據(jù)后先用RSA的 公鑰 將AES的key2進(jìn)行解密,然后使用這個(gè)key2來解密返回的主要內(nèi)容;

11、最后將主要內(nèi)容進(jìn)行簽名得到sign官还,與sign2進(jìn)行對(duì)比芹橡。如果一致則表示數(shù)據(jù)無誤⊥祝可進(jìn)行后續(xù)操作林说。

如下圖所示客戶端向服務(wù)器發(fā)送請(qǐng)求(服務(wù)器向客戶端發(fā)送請(qǐng)求類似,如有不清楚的地方可留言):

F60174F4-BF4E-4F08-8A77-BF1FE94D7940.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末屡谐,一起剝皮案震驚了整個(gè)濱河市述么,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌愕掏,老刑警劉巖度秘,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異饵撑,居然都是意外死亡剑梳,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門滑潘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來垢乙,“玉大人,你說我怎么就攤上這事语卤∽反” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵粹舵,是天一觀的道長(zhǎng)钮孵。 經(jīng)常有香客問我,道長(zhǎng)眼滤,這世上最難降的妖魔是什么巴席? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮诅需,結(jié)果婚禮上漾唉,老公的妹妹穿的比我還像新娘荧库。我一直安慰自己,他們只是感情好赵刑,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布分衫。 她就那樣靜靜地躺著,像睡著了一般料睛。 火紅的嫁衣襯著肌膚如雪丐箩。 梳的紋絲不亂的頭發(fā)上摇邦,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天恤煞,我揣著相機(jī)與錄音,去河邊找鬼施籍。 笑死居扒,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的丑慎。 我是一名探鬼主播喜喂,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼竿裂!你這毒婦竟也來了玉吁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤腻异,失蹤者是張志新(化名)和其女友劉穎进副,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體悔常,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡影斑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了机打。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片矫户。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖残邀,靈堂內(nèi)的尸體忽然破棺而出皆辽,到底是詐尸還是另有隱情,我是刑警寧澤芥挣,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布驱闷,位于F島的核電站,受9級(jí)特大地震影響九秀,放射性物質(zhì)發(fā)生泄漏遗嗽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一鼓蜒、第九天 我趴在偏房一處隱蔽的房頂上張望痹换。 院中可真熱鬧征字,春花似錦、人聲如沸娇豫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽冯痢。三九已至氮昧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間浦楣,已是汗流浹背袖肥。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留振劳,地道東北人椎组。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像历恐,于是被迫代替她去往敵國和親寸癌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

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