接口非對(duì)稱(chēng)加密+Retrofit2(未完成)

最近公布一個(gè)非常豐富的開(kāi)源庫(kù),如果你需要相冊(cè)、錄制、錄音等操作,那么這個(gè)也許對(duì)你有一定的幫助:
http://www.itdecent.cn/p/8a0accffd0e1

照常例打出我搜到的相關(guān)文章
http://blog.csdn.net/ouyang_peng/article/details/50983574
https://www.zhihu.com/question/20874499

在講接口加密之前,先了解AES與RSA的區(qū)別。
(具體算法咱們就不討論了,如果一定要討論:https://www.cnblogs.com/awsqsh/articles/4349114.html

AES:對(duì)稱(chēng)加密。加密速度快,相比RSA的安全性就沒(méi)那么高。
RSA:非對(duì)稱(chēng)加密。算法的密鑰很長(zhǎng),具有較好的安全性,但加密的計(jì)算量很大,加密速度較慢限制了其應(yīng)用范圍。

1.AES與RSA

對(duì)稱(chēng)加密AES:
網(wǎng)上看到的一個(gè)非常鮮活的例子,哈哈哈哈

如圖所說(shuō),服務(wù)器(男方)和客戶端(女方)都彼此知道該鑰匙是0101000101,他們通過(guò)彼此的鑰匙來(lái)進(jìn)行加密解密。

非對(duì)稱(chēng)加密RSA:

如果上面對(duì)稱(chēng)加密AES的一個(gè)鑰匙被偷走的話,那么就很容易破解了。

那么非對(duì)稱(chēng)加密就是很好的解決了這個(gè)方法。


image.png

上面的圖片可以首先看到鑰匙已經(jīng)不再是一個(gè)了,而是公鑰跟私鑰一起組合的鑰匙,公鑰是可以公開(kāi)出來(lái)的。首先加密是通過(guò)服務(wù)器(男方)加密的,然后客戶端(女方)通過(guò)該公鑰和自己客戶端私下的私鑰進(jìn)行解密。

也許你們會(huì)認(rèn)為rsa不就多了個(gè)公鑰私鑰的區(qū)別么,其一來(lái)說(shuō)單純一個(gè)鑰匙同時(shí)在服務(wù)端和客戶端容易泄漏出去,其二來(lái)說(shuō)用公鑰和明文推導(dǎo)密文很容易,但根據(jù)公鑰、明文和密文推導(dǎo)私鑰極其難

2.AES與RSA如何配合加密

從上面比較得知,由于RSA加解密速度慢,不適合大量數(shù)據(jù)文件加密。AES加密速度很快。
這樣在傳送機(jī)密信息的雙方
1:使用AES對(duì)傳輸數(shù)據(jù)加密
2:使用RSA不對(duì)稱(chēng)密碼體制來(lái)傳送AES的密鑰
這樣就可以綜合發(fā)揮AES和RSA的優(yōu)點(diǎn)同時(shí)避免它們?nèi)秉c(diǎn)來(lái)實(shí)現(xiàn)一種新的數(shù)據(jù)加密方案。加解密實(shí)現(xiàn)流程如圖(同樣是網(wǎng)上找的)。


image.png

那么流程我們明白了,開(kāi)始深入了解代碼。假設(shè)一個(gè)場(chǎng)景,app客戶端向服務(wù)端傳輸一個(gè)數(shù)據(jù)


image.png

這個(gè)流程我分開(kāi)5個(gè)步驟,讓我們一個(gè)個(gè)步驟講:
第一步解析:handleRSA
%……&¥%……&¥#……%#@……留待后面編輯。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容