精解APP端加密算法

引言

? ?上一篇說(shuō)到開發(fā)安全漏洞和防護(hù)策略,加密是不能不說(shuō)的重要模塊项炼。

? ? 隨著這幾年APP端技術(shù)的積累担平,黑客技術(shù)在APP端的長(zhǎng)足成長(zhǎng),hook锭部、tweak 方法已經(jīng)非常完善暂论,所以代碼的安全性是很難保證的,甚至被重新打包和注入新的程序等(這里iOS也是一樣的拌禾,可以參考大牛的帖iOS黑客技術(shù))空另。當(dāng)然,如果你的APP和錢的關(guān)系不大蹋砚,黑客是沒興趣去破解你的。

對(duì)重要邏輯設(shè)計(jì)上摄杂,如果加密算法使用得當(dāng)坝咐,就可以很好的防護(hù)這種侵入。

有興趣的同學(xué)析恢,可以了解下黑客的侵入手段墨坚,可以明確一點(diǎn)是,所有的黑客手段都是找到切入點(diǎn)映挂,模擬原程序來(lái)侵入泽篮,是沒辦法獲取到完整的APP代碼,很多情況下柑船,只要適當(dāng)?shù)氖褂眉用芩惴背牛蜁?huì)很好的防護(hù)這種侵入,并對(duì)性能上影響不大鞍时。當(dāng)然亏拉,加密算法扣蜻,不僅僅用于防護(hù)黑客侵入,還有一些常用的場(chǎng)景及塘,避免數(shù)據(jù)泄露莽使,安全驗(yàn)證等。

? ? 本篇笙僚,只講算法本身的性能比對(duì)和常用使用場(chǎng)景芳肌。?

對(duì)稱加密算法

AES(Advanced Encryption Standard):高級(jí)加密標(biāo)準(zhǔn)。至于其他的對(duì)稱算法肋层,例如DES亿笤、3DES這些算法已經(jīng)淘汰,就沒什么好講的了槽驶,有興趣的同學(xué)可以看看算法實(shí)現(xiàn)责嚷。

AES以運(yùn)算速度快,安全性高掂铐,消耗資源低完全超越于其他的對(duì)稱加密算法罕拂,是對(duì)稱加密算法的不二選擇

相對(duì)來(lái)說(shuō)全陨,這種算法消耗是比較小的爆班,很多場(chǎng)景下都會(huì)用到。

非對(duì)稱加密算法

RSA(三個(gè)人名縮寫):由 RSA 公司發(fā)明辱姨,是一個(gè)支持變長(zhǎng)密鑰的公共密鑰算法柿菩,需要加密的文件塊的長(zhǎng)度也是可變的;

DSA(Digital Signature Algorithm):數(shù)字簽名算法雨涛,是一種標(biāo)準(zhǔn)的?DSS(數(shù)字簽名標(biāo)準(zhǔn))枢舶;

ECC(Elliptic Curves Cryptography):橢圓曲線密碼編碼學(xué)。

這三種算法相比較替久,DSA只能用于簽名凉泄,不能用于加密和解密。RSA可以用于簽名蚯根,也可以加密解密后众。但從運(yùn)算速度、安全性颅拦、資源消耗上都比不上ECC蒂誉,不過(guò),ECC這種算法距帅,還不夠成熟右锨。鑒于此,RSA是當(dāng)前非對(duì)稱算法中碌秸,應(yīng)用最廣泛的陡蝇,而且由于能同時(shí)實(shí)現(xiàn)加密解密和簽名痊臭,在特殊情況下,會(huì)非常好用登夫,當(dāng)然使用這種加密算法代價(jià)是不菲的广匙,只適用于關(guān)鍵位置。

以后恼策,ECC早晚會(huì)取代RSA鸦致。

對(duì)稱加密算法適用于本地加密解密,而不適用與網(wǎng)絡(luò)加密涣楷,當(dāng)然你那樣用也是可以的分唾,但因?yàn)槭菍?duì)稱加密,這樣只要一端加密key沒保護(hù)好狮斗,整個(gè)加密就完蛋了绽乔;而非對(duì)稱加密算法加密和解密用到的key是不一樣的,所以安全性上相對(duì)來(lái)說(shuō)是更好一點(diǎn)的碳褒,當(dāng)然也必然消耗的資源也會(huì)多折砸。


散列算法

MD5(Message Digest Algorithm 5):是RSA數(shù)據(jù)安全公司開發(fā)的一種單向散列算法。

SHA(Secure Hash Algorithm):可以對(duì)任意長(zhǎng)度的數(shù)據(jù)運(yùn)算生成一個(gè)160位的數(shù)值沙峻;

MD5嚴(yán)格來(lái)說(shuō)不算加密算法睦授,只能說(shuō)是摘要算法,這種算法安全性不高摔寨,但速度快去枷,比如說(shuō)驗(yàn)證文件是否被篡改等類似場(chǎng)景中,就非常好用是复。當(dāng)然删顶,對(duì)于核心重要的模塊,最好不要用MD5淑廊,它太弱了翼闹。

?SHA-1這個(gè),很多開發(fā)android的同學(xué)應(yīng)該都非常了解蒋纬,在之前這個(gè)是非常安全的,但隨著現(xiàn)代計(jì)算機(jī)發(fā)展坚弱,已經(jīng)不安全了蜀备,這種算法,也將被其他的算法替代荒叶。


其他的不是算法的“算法” ?--(O(∩_∩)O 之前自己也干過(guò) ?)

Base64加密算法碾阁,這其實(shí)不是一種算法,只是8bit格式而已些楣,對(duì)熟悉base64格式的人來(lái)說(shuō)脂凶,用這個(gè)"加密"宪睹,弱爆了

自定義的加鹽算法蚕钦,很多人會(huì)自定義一套算法什么的亭病,其實(shí)根本沒必要,而且沒什么用嘶居。像上面很多算法罪帖,都是基于數(shù)學(xué)上不可解算法的基礎(chǔ)上建立起來(lái)的,我相信我們自己沒那么NB邮屁,所以不要自己瞎折騰了整袁,老實(shí)的用上面的加密算法就好了


綜述: ?

所有的安全都是相對(duì)的佑吝,算法也是一樣坐昙。所有加密算法設(shè)計(jì)出來(lái)在當(dāng)時(shí)都是安全不可解的,但隨著技術(shù)的發(fā)展芋忿,人類思想上的進(jìn)步炸客,漸漸打破很多難題,無(wú)解漸漸變的有解盗飒,甚至于最后變的完全失去加密的作用嚷量。

另外,上面說(shuō)的逆趣,只適用于APP端蝶溶,這是考慮性能的問題;雖然還有很多高級(jí)的加密算法宣渗,像SSF33抖所,SSF28,SCB2(SM1)等這些商用的不公開的更安全加密算法痕囱,另外還有軍事用的加密算法等田轧,但考慮到運(yùn)算成本等其他因素,都不適用于APP端鞍恢。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末傻粘,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子帮掉,更是在濱河造成了極大的恐慌弦悉,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蟆炊,死亡現(xiàn)場(chǎng)離奇詭異稽莉,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)涩搓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門污秆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)劈猪,“玉大人,你說(shuō)我怎么就攤上這事良拼≌降茫” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵将饺,是天一觀的道長(zhǎng)贡避。 經(jīng)常有香客問我,道長(zhǎng)予弧,這世上最難降的妖魔是什么刮吧? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮掖蛤,結(jié)果婚禮上杀捻,老公的妹妹穿的比我還像新娘。我一直安慰自己蚓庭,他們只是感情好致讥,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著器赞,像睡著了一般垢袱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上港柜,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天请契,我揣著相機(jī)與錄音,去河邊找鬼夏醉。 笑死爽锥,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的畔柔。 我是一名探鬼主播氯夷,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼靶擦!你這毒婦竟也來(lái)了腮考?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤玄捕,失蹤者是張志新(化名)和其女友劉穎踩蔚,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體桩盲,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年席吴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了赌结。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捞蛋。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖柬姚,靈堂內(nèi)的尸體忽然破棺而出拟杉,到底是詐尸還是另有隱情,我是刑警寧澤量承,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布搬设,位于F島的核電站,受9級(jí)特大地震影響撕捍,放射性物質(zhì)發(fā)生泄漏拿穴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一忧风、第九天 我趴在偏房一處隱蔽的房頂上張望默色。 院中可真熱鬧,春花似錦狮腿、人聲如沸腿宰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)吃度。三九已至,卻和暖如春贴硫,著一層夾襖步出監(jiān)牢的瞬間椿每,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工夜畴, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拖刃,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓贪绘,卻偏偏與公主長(zhǎng)得像兑牡,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子税灌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

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