IOS--RSA的加密解密簡單實現(xiàn)

基礎知識


  1. 什么是RSA
    答:RSA是一種非對稱加密算法吆鹤,常用來對傳輸數(shù)據(jù)進行加密,配合上數(shù)字摘要算法好啰,也可以進行文字簽名忍些。

  2. RSA加密中padding?
    答:padding即填充方式坎怪,由于RSA加密算法中要加密的明文是要比模數(shù)小的,padding就是通過一些填充方式來限制明文的長度廓握。后面會詳細介紹padding的幾種模式以及分段加密搅窿。

  3. 加密和加簽有什么區(qū)別?
    答:
    加密:公鑰放在客戶端隙券,并使用公鑰對數(shù)據(jù)進行加密男应,服務端拿到數(shù)據(jù)后用私鑰進行解密;
    加簽:私鑰放在客戶端娱仔,并使用私鑰對數(shù)據(jù)進行加簽沐飘,服務端拿到數(shù)據(jù)后用公鑰進行驗簽。前者完全為了加密牲迫;后者主要是為了防惡意攻擊耐朴,防止別人模擬我們的客戶端對我們的服務器進行攻擊,導致服務器癱瘓盹憎。

基本原理


RSA使用“密鑰對”對數(shù)據(jù)進行加密解密筛峭,在加密解密前需要先生存公鑰(Public Key)和私鑰(Private Key)。
公鑰(Public key): 用于加密數(shù)據(jù). 用于公開, 一般存放在數(shù)據(jù)提供方, 例如iOS客戶端陪每。
私鑰(Private key): 用于解密數(shù)據(jù). 必須保密, 私鑰泄露會造成安全問題影晓。iOS中的Security.framework提供了對RSA算法的支持镰吵,這種方式需要對密匙對進行處理, 根據(jù)public key生成證書, 通過private key生成p12格式的密匙。想想jave直接用字符串進行加密解密簡單多了挂签。(⊙o⊙)…

實戰(zhàn)


證書生成

RSA加密這塊公鑰疤祭、私鑰必不可少的。Apple是不支持直接使用字符串進行加密解密的饵婆,推薦使用p12文件勺馆。這邊教大家去生成在加密中使用到的所有文件,并提供給Java使用啦辐,想當年這個公鑰私鑰搞了半天了谓传。 %>_<%

  • 生成模長為1024bit的私鑰
    openssl genrsa -out private_key.pem 1024
  • 生成certification require file
    openssl req -new -key private_key.pem -out rsaCertReq.csr
  • 生成certification 并指定過期時間
    openssl x509 -req -days 3650 -in rsaCertReq.csr -signkey private_key.pem -out rsaCert.crt
  • 生成公鑰供iOS使用
    openssl x509 -outform der -in rsaCert.crt -out public_key.der
  • 生成私鑰供iOS使用 這邊會讓你輸入密碼,后期用到在生成secKeyRef的時候會用到這個密碼
    openssl pkcs12 -export -out private_key.p12 -inkey private_key.pem -in rsaCert.crt
  • 生成pem結尾的公鑰供Java使用
    openssl rsa -in private_key.pem -out rsa_public_key.pem -pubout
  • 生成pem結尾的私鑰供Java使用
    openssl pkcs8 -topk8 -in private_key.pem -out pkcs8_private_key.pem -nocrypt

以上所有的步驟都是在終端下完成的哦 (__)

|
|
微云網(wǎng)盤
RSA簡單使用

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末芹关,一起剝皮案震驚了整個濱河市续挟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌侥衬,老刑警劉巖诗祸,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異轴总,居然都是意外死亡直颅,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進店門怀樟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來功偿,“玉大人,你說我怎么就攤上這事往堡⌒岛桑” “怎么了?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵虑灰,是天一觀的道長吨瞎。 經(jīng)常有香客問我,道長穆咐,這世上最難降的妖魔是什么颤诀? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮对湃,結果婚禮上崖叫,老公的妹妹穿的比我還像新娘。我一直安慰自己拍柒,他們只是感情好归露,可當我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著斤儿,像睡著了一般剧包。 火紅的嫁衣襯著肌膚如雪恐锦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天疆液,我揣著相機與錄音一铅,去河邊找鬼。 笑死堕油,一個胖子當著我的面吹牛潘飘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播掉缺,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼卜录,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了眶明?” 一聲冷哼從身側(cè)響起艰毒,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎搜囱,沒想到半個月后丑瞧,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡蜀肘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年绊汹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扮宠。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡西乖,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出坛增,到底是詐尸還是另有隱情浴栽,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布轿偎,位于F島的核電站,受9級特大地震影響被廓,放射性物質(zhì)發(fā)生泄漏坏晦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一嫁乘、第九天 我趴在偏房一處隱蔽的房頂上張望昆婿。 院中可真熱鬧,春花似錦蜓斧、人聲如沸仓蛆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽看疙。三九已至豆拨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間能庆,已是汗流浹背施禾。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留搁胆,地道東北人弥搞。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像渠旁,于是被迫代替她去往敵國和親攀例。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,860評論 2 361

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

  • MD5加密是單向的伪煤,只能加密不能解密(破解除外)加袋。標題可能會引起讀者誤解,已經(jīng)改正抱既,感謝Li_Cheng同學的提醒...
    奮斗ing0310閱讀 1,207評論 1 13
  • 嘟噥嘟噥:最近接到一個任務:在客戶端動態(tài)生成RSA密鑰對职烧,然后向服務器發(fā)送這個密鑰對中的公鑰字符串,由服務器進行公...
    TimmyR閱讀 8,047評論 19 21
  • 如蠶絲的包裹防泵, 似蛹卵的脫落蚀之, 在這短短百里的街道, 我總想遇到一個夢中的她捷泞, 好比久別后相聚的伉儷足删, 雙宿雙飛,...
    墨小凝閱讀 248評論 1 3
  • [玫瑰]讓孩子愛上閱讀的100種方法锁右,總有一款適合你[玫瑰] 如果你的孩子不愛讀書失受,從今天開始[拳頭]把這100種...
    桃桃_閱讀 396評論 0 0
  • 當一縷陽光射進你窗臺的時候,你是否也想為窗臺添一抹精致的綠色咏瑟? 不知從何時起拂到,我對那些美美的、萌萌的多肉植物愛...
    朝新閱讀 1,064評論 2 3