Android:客户端和服务器之间传输数据加密
?Android客戶端與服務(wù)器進(jìn)行數(shù)據(jù)傳輸時,一般會涉及到兩類數(shù)據(jù)的加密情況,一類是只有創(chuàng)建者才能知道的數(shù)據(jù),比如密碼;另一類是其他比較重要的,但是可以逆向解密的數(shù)據(jù)。
?????? 第一類:密碼類的數(shù)據(jù),為了讓用戶放心注冊,密碼類的數(shù)據(jù)的加密一般都是經(jīng)過雙重加密的,第一重加密使用不可逆的MD5算法加密,第二重加密是可逆的加密,常見的可逆加密有對稱加密和非對稱加密。上述不可逆的意思就是一旦加密就不能反向得到密碼原文,一般用來加密用戶密碼,app的服務(wù)器端一般存儲的也都是密文密碼,不然用戶就太危險了,app的運(yùn)營商也承擔(dān)不起這么大的責(zé)任。雖然現(xiàn)在MD5加密生成的密文也可以破解了,但是我們不需要擔(dān)心,因?yàn)槲覀兛梢圆捎枚嘀丶用芊绞絹響?yīng)對。在數(shù)據(jù)傳輸?shù)倪^程中,首先把密碼類數(shù)據(jù)經(jīng)過MD5加密算法加密,然后再在外面使用可逆的加密方式加密一次,這樣在數(shù)據(jù)傳輸?shù)倪^程中,即便數(shù)據(jù)被截獲了,但是想要完全破解,還是很難的(本來就不存在完全不能解密的加密)。
??? MD5加密算法:
?
[java]?view plain?copy
? 第二類數(shù)據(jù):非密碼類的數(shù)據(jù),雖然這些數(shù)據(jù)也很重要,但是一般其他人截獲了這些數(shù)據(jù)對他們意義不太大,這些數(shù)據(jù)我們一般采用可逆的加密方式加密,因?yàn)槲覀冊诜?wù)器端還是需要這些數(shù)據(jù)的明文的,常用的可逆加密方法有:對稱加密和非對稱加密。何為對稱加密?在對稱加密算法中,數(shù)據(jù)發(fā)信方將明文和加密密鑰一起經(jīng)過特殊的加密算法處理后,使其變成復(fù)雜的加密密文發(fā)送出去,收信方收到密文后,若想解讀出原文,則需要使用加密時用的密鑰以及相同加密算法的逆算法對密文進(jìn)行解密,才能使其回復(fù)成可讀明文。在對稱加密算法中,使用的密鑰只有一個,收發(fā)雙方都使用這個密鑰,這就需要解密方事先知道加密密鑰。非對稱加密算法是一種密鑰的保密方法。非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數(shù)據(jù)進(jìn)行加密,只有用對應(yīng)的私有密鑰才能解密;如果用私有密鑰對數(shù)據(jù)進(jìn)行加密,那么只有用對應(yīng)的公開密鑰才能解密。因?yàn)榧用芎徒饷苁褂玫氖莾蓚€不同的密鑰,所以這種算法叫作非對稱加密算法。 非對稱加密算法實(shí)現(xiàn)機(jī)密信息交換的基本過程是:甲方生成一對密鑰并將其中的一把作為公用密鑰向其它方公開;得到該公用密鑰的乙方使用該密鑰對機(jī)密信息進(jìn)行加密后再發(fā)送給甲方;甲方再用自己保存的另一把專用密鑰對加密后的信息進(jìn)行解密。
轉(zhuǎn)載于:https://www.cnblogs.com/ldq2016/p/9655755.html
總結(jié)
以上是生活随笔為你收集整理的Android:客户端和服务器之间传输数据加密的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序-04-详解介绍.json 配
- 下一篇: 作业二/Git的安装以及使用