Android-加密機制詳解

編解碼

Base64編碼算法
  • Base64編碼算法是一種用64個字符(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/)來表示任意二進制數(shù)據(jù)的方法褒侧。
  • base64 只是一種編碼方式蔚约,并不是一種加密算法誊辉,不要使用 base64 來加密數(shù)據(jù)。

對稱加密

  • 在對稱加密算法中冯键,數(shù)據(jù)發(fā)信方將明文(原始數(shù)據(jù))和加密密鑰一起經(jīng)過特殊加密算法處理后,使其變成復(fù)雜的加密密文發(fā)送出去。
  • 收信方收到密文后脯厨,若想解讀原文璧微,則需要使用加密用過的密鑰及相同算法的逆算法對密文進行解密作箍,才能使其恢復(fù)成可讀明文。
  • 在對稱加密算法中前硫,使用的密鑰只有一個胞得,發(fā)收信雙方都使用這個密鑰對數(shù)據(jù)進行加密和解密,這就要求解密方事先必須知道加密密鑰屹电。
  • 該算法的缺點是阶剑,如果一旦密鑰泄漏,那么加密的內(nèi)容將都不可信了危号。

非對稱加密

  • 非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)个扰。
  • 公開密鑰與私有密鑰是一對,如果用公開密鑰對數(shù)據(jù)進行加密葱色,只有用對應(yīng)的私有密鑰才能解密递宅;如果用私有密鑰對數(shù)據(jù)進行加密,那么只有用對應(yīng)的公開密鑰才能解密(這個過程可以做數(shù)字簽名)。
  • 非對稱加密主要使用的是RSA算法办龄。

不可逆加密

MD5

CA認證

  • CA的全稱是Certificate Authority(證書頒發(fā)機構(gòu))烘绽,它可以為企業(yè)頒發(fā)數(shù)字證書確認這些企業(yè)的身份,同時也可以吊銷數(shù)字證書俐填。
  • 在HTTPS中需要一個SSL證書安接,該證書也屬于數(shù)字證書的一種由CA進行頒發(fā),內(nèi)容包括公鑰+申請者與頒發(fā)者信息+簽名.
具體的證書驗證過程:
  • 客戶端請求服務(wù)器
  • 服務(wù)器將證書和數(shù)字簽名通過私鑰加密攜帶著公鑰一同傳遞給客戶端
  • 客戶端收到后首先拿著公鑰解密證書英融,拿著證書去CA機構(gòu)進行認證是否合法
  • 如果證書合法就對證書進行hash運算盏檐,再將數(shù)字簽名解密,對比兩個hash值驶悟,如果一致代表證書沒有被冒充胡野。
另外,進行CA認證一般是要收費的

SSL

SSL全稱為Secure Sockets Layer(安全套接層)痕鳍,沒錯硫豆,它就是HTTPS的核心,換句話說就是HTTPS就是HTTP+SSL笼呆,通過SSL可以實現(xiàn)HTTP安全傳輸熊响,實現(xiàn)原理就是基于上面幾個小結(jié)所講的對稱加密、非對稱加密诗赌、CA認證汗茄,下面我先用一張圖來代表SSL整個流程,如圖:


  • 客戶端請求服務(wù)器铭若,并攜帶支持的加密算法
  • 服務(wù)器選定加密算法剔难,將確認的加密算法+公鑰+證書一并返回給客戶端
  • 客戶端收到會拿著公鑰去進行CA認證,如果認證成功就生成一個對稱秘鑰用公鑰加密并返回給服務(wù)器奥喻,否則就視為服務(wù)器為非法服務(wù)器偶宫。
  • 服務(wù)器拿到對稱秘鑰后通過私鑰進行解密并保存,此后客戶端和服務(wù)器就可以通過該秘鑰對數(shù)據(jù)進行加密傳輸
  • 服務(wù)器發(fā)送數(shù)據(jù)前需要對數(shù)據(jù)進行一次hash運算得到一個hash值环鲤,對數(shù)據(jù)和hash值加密后傳輸給客戶端
  • 客戶端收到數(shù)據(jù)后對數(shù)據(jù)進行解密纯趋,然后對數(shù)據(jù)進行一次hash運算得到一個hash值,并解密服務(wù)器傳來的hash值冷离,將兩個hash值進行比較吵冒,如果不相同可視為數(shù)據(jù)中途被篡改
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市西剥,隨后出現(xiàn)的幾起案子痹栖,更是在濱河造成了極大的恐慌,老刑警劉巖瞭空,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件揪阿,死亡現(xiàn)場離奇詭異疗我,居然都是意外死亡,警方通過查閱死者的電腦和手機南捂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門吴裤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人溺健,你說我怎么就攤上這事麦牺。” “怎么了鞭缭?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵剖膳,是天一觀的道長。 經(jīng)常有香客問我岭辣,道長吱晒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任易结,我火速辦了婚禮枕荞,結(jié)果婚禮上柜候,老公的妹妹穿的比我還像新娘搞动。我一直安慰自己,他們只是感情好渣刷,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布鹦肿。 她就那樣靜靜地躺著,像睡著了一般辅柴。 火紅的嫁衣襯著肌膚如雪箩溃。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天碌嘀,我揣著相機與錄音涣旨,去河邊找鬼。 笑死股冗,一個胖子當著我的面吹牛霹陡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播止状,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼烹棉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了怯疤?” 一聲冷哼從身側(cè)響起浆洗,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎集峦,沒想到半個月后伏社,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抠刺,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年洛口,在試婚紗的時候發(fā)現(xiàn)自己被綠了矫付。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡第焰,死狀恐怖买优,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情挺举,我是刑警寧澤杀赢,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站湘纵,受9級特大地震影響脂崔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜梧喷,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一砌左、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧铺敌,春花似錦汇歹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至弯囊,卻和暖如春痰哨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背匾嘱。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工斤斧, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人霎烙。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓撬讽,卻偏偏與公主長得像,于是被迫代替她去往敵國和親吼过。 傳聞我的和親對象是個殘疾皇子锐秦,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355