RSA加密轉(zhuǎn)16進(jìn)制

知識(shí)補(bǔ)充:

? ? ? ?RSA算法是一種非對(duì)稱加密算法,常被用于加密數(shù)據(jù)傳輸.

RSA基本原理:

? ? ? ?RSA使用"秘匙對(duì)"對(duì)數(shù)據(jù)進(jìn)行加密解密.在加密解密數(shù)據(jù)前,需要先生成公鑰(public key)和私鑰(private key).

? ? ? ? 公鑰(public key): 用于加密數(shù)據(jù). 用于公開, 一般存放在數(shù)據(jù)提供方, 例如iOS客戶端.

? ? ? ? ?私鑰(private key): 用于解密數(shù)據(jù). 必須保密, 私鑰泄露會(huì)造成安全問題.

? ? ? ? ?iOS中的Security.framework提供了對(duì)RSA算法的支持.這種方式需要對(duì)密匙對(duì)進(jìn)行處理, 根據(jù)public key生成證書, 通過private key生成p12格式的密匙.除了Secruty.framework, 也可以將openssl庫(kù)編譯到iOS工程中, 這可以提供更靈活的使用方式.本文使用Security.framework的方式處理RSA.

步驟:

? ? ? ? ?下面說一下生成公鑰私鑰的步驟鳄袍。打開終端展鸡,按照以下輸入即可(注意:在Mac上我一直沒找到生成公鑰私鑰的路徑又碌,所以讓android在windows上幫我生成了一遍,他直接就可以導(dǎo)出來)尉咕,iOS這邊需要der文件和p12文件叠蝇。步驟如下

生成私鑰文件

$ openssl genrsa -out private.pem 1024

openssl:是一個(gè)自由的軟件組織,專注做加密和解密的框架。

genrsa:指定了生成了算法使用RSA

-out:后面的參數(shù)表示生成的key的輸入文件

1024:表示的是生成key的長(zhǎng)度,單位字節(jié)(bits)

創(chuàng)建證書請(qǐng)求

$ openssl req -new -key private.pem -out rsacert.csr

可以拿著這個(gè)文件去數(shù)字證書頒發(fā)機(jī)構(gòu)(即CA)申請(qǐng)一個(gè)數(shù)字證書年缎。CA會(huì)給你一個(gè)新的文件cacert.pem,那才是你的數(shù)字證書蟆肆。(要收費(fèi)的)

生成證書并簽名,有效期10年

$ openssl x509 -req -days 3650 -in rsacert.csr -signkey private.pem -out rsacert.crt

509是一種非常通用的證書格式晦款。

將用上面生成的密鑰privkey.pem和rsacert.csr證書請(qǐng)求文件生成一個(gè)數(shù)字證書rsacert.crt。這個(gè)就是公鑰

轉(zhuǎn)換格式 將 PEM 格式文件 轉(zhuǎn)換成 DER 格式

$ openssl x509 -outform der -in rsacert.crt -out rsacert.der

在 iOS開發(fā)中,公鑰是不能使用base64編碼的,上面的命令是將公鑰的base64編碼字符串轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)

導(dǎo)出 P12 文件

在iOS使用私鑰不能直接使用枚冗,需要導(dǎo)出一個(gè)p12文件缓溅。下面命令就是將私鑰文件導(dǎo)出為p12文件。

$ openssl pkcs12 -export -out p.p12 -inkey private.pem -in rsacert.crt

以上步驟就生成了公鑰私鑰赁温。代碼如下:

controller里面的代碼:


獲取公鑰:

獲取私鑰:

加密:

解密:

yi?

??

以上這種方法適用于公鑰加密坛怪,私鑰解密,假如用私鑰加密股囊,公鑰解密袜匿,這種方案就不行了,就不能用Secruty.framework了稚疹,就得用openssl庫(kù)了居灯,具體openssl庫(kù)怎么用,還沒有研究,嘿嘿怪嫌,以后再說吧义锥。

總結(jié):

? ? ? ? ?這種加密傳輸方式會(huì)被用在網(wǎng)銀類或者金融類App中.金融類app都會(huì)采用全站https方案,采用這種加密方式,也是為了保險(xiǎn)岩灭。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拌倍,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子噪径,更是在濱河造成了極大的恐慌柱恤,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件找爱,死亡現(xiàn)場(chǎng)離奇詭異梗顺,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)缴允,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門荚守,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人练般,你說我怎么就攤上這事矗漾。” “怎么了薄料?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵敞贡,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我摄职,道長(zhǎng)誊役,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任谷市,我火速辦了婚禮蛔垢,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘迫悠。我一直安慰自己鹏漆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布创泄。 她就那樣靜靜地躺著艺玲,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鞠抑。 梳的紋絲不亂的頭發(fā)上饭聚,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音搁拙,去河邊找鬼秒梳。 笑死法绵,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的端幼。 我是一名探鬼主播礼烈,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼婆跑!你這毒婦竟也來了此熬?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤滑进,失蹤者是張志新(化名)和其女友劉穎犀忱,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扶关,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡阴汇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了节槐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片搀庶。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖铜异,靈堂內(nèi)的尸體忽然破棺而出哥倔,到底是詐尸還是另有隱情,我是刑警寧澤揍庄,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布咆蒿,位于F島的核電站,受9級(jí)特大地震影響蚂子,放射性物質(zhì)發(fā)生泄漏沃测。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一食茎、第九天 我趴在偏房一處隱蔽的房頂上張望蒂破。 院中可真熱鬧,春花似錦别渔、人聲如沸寞蚌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至壹哺,卻和暖如春抄伍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背管宵。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工截珍, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留攀甚,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓岗喉,卻偏偏與公主長(zhǎng)得像秋度,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子钱床,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

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

  • /**ios常見的幾種加密方法: 普通的加密方法是講密碼進(jìn)行加密后保存到用戶偏好設(shè)置( [NSUserDefaul...
    彬至睢陽(yáng)閱讀 2,939評(píng)論 0 7
  • 一查牌、緣起 幾個(gè)月前就在濟(jì)南俱樂部群里看到小伙伴們?cè)跓崃业挠懻摲稚硇g(shù)訓(xùn)練營(yíng)事期,考慮到手頭還有很多事沒有完成,心...
    小米8227閱讀 218評(píng)論 2 1
  • 時(shí)間過的真快纸颜,轉(zhuǎn)眼就三十了兽泣,真是一事無成! 人什么都不怕胁孙,不怕失敗唠倦,不怕挫折,不怕困難涮较,但是怕老稠鼻,怕死,怕荒廢法希。 ...
    一只羊1237閱讀 206評(píng)論 0 0
  • 好困枷餐,不過還是得寫完今天的總結(jié)。 今天沒有聽音頻苫亦。論文寫了4000+毛肋。也是完成了早上的期待吧。不過未來幾天每天最少...
    Sanity娜娜閱讀 236評(píng)論 0 0
  • 祝你幸福屋剑,和你所愛之人 珍重 附贈(zèng)初中喜歡的詩(shī)經(jīng)一句润匙, 桃之夭夭,灼灼其華唉匾。之子于歸孕讳, 宜其室家 http://m...
    HitNoah閱讀 156評(píng)論 0 0