盤點(diǎn)Android中常用的加密算法

Android是目前最常見的手機(jī)操作系統(tǒng),隨著科技的發(fā)展,Android應(yīng)用程序?qū)Π踩婪兜囊笠膊粩嘣龈?,而這就離不開各種加密算法的應(yīng)用。下面我們就來盤點(diǎn)一下Android常用的加密算法有哪些。

hash算法

代表:MD5、SHA系列等

簡介:

嚴(yán)格來講這不算是一種加密算法,應(yīng)該叫做信息摘要算法。它也是目前Android開發(fā)中應(yīng)用非常廣的算法。hash算法是指某種從隨意長度的數(shù)據(jù)中建立數(shù)據(jù)“指紋”的算法。它可以將隨意長度的數(shù)據(jù)映射為固定長度的信息,這個(gè)投射后的數(shù)據(jù)我們稱之為哈希值。

hash算法

特點(diǎn):

  1. 正向快速:給定明文和 hash 算法,在有限時(shí)間和有限資源內(nèi)能計(jì)算出 hash 值。
  2. 逆向困難:給定 hash 值,在有限時(shí)間內(nèi)很難逆推出明文。
  3. 輸入敏感:原始輸入信息修改一點(diǎn)信息,產(chǎn)生的 hash 值看起來應(yīng)該都有很大不同。
  4. 沖突避免:很難找到兩段內(nèi)容不同的明文,使得它們的 hash 值一致。

應(yīng)用場景:

在Android中hash算法常用于數(shù)字簽名,以及對敏感數(shù)據(jù)進(jìn)行加密處理,比如密碼儲存、數(shù)據(jù)校驗(yàn)等。

對稱加密算法

代表:AES、DES、3DES等

簡介:

對稱加密算法也被稱為單密鑰加密,簡單來說就是加密和解密使用相同密鑰的加密算法。

對稱加密算法

特點(diǎn):

  1. 加密方和解密方使用同一個(gè)密鑰。
  2. 加密解密的速度比較快,適合數(shù)據(jù)比較長時(shí)的使用。
  3. 密鑰傳輸?shù)倪^程不安全,且容易被破解,密鑰管理也比較麻煩。

應(yīng)用場景:

對稱加密算法在Android中常用于對數(shù)據(jù)進(jìn)行加密和解密,如本地?cái)?shù)據(jù)加密、網(wǎng)絡(luò)數(shù)據(jù)傳輸、網(wǎng)頁交互數(shù)據(jù)加密等。

非對稱加密算法

代表:RSA、ECC、DSA等

簡介:

非對稱加密算法于對稱加密算法相反,它擁有兩個(gè)密鑰,分別是公鑰和私鑰。如果用公鑰進(jìn)行加密,只有用對應(yīng)的私鑰才能解密;如果用私鑰進(jìn)行加密,只有用對應(yīng)的公鑰才能解密。

非對稱加密算法

特點(diǎn):

  1. 由于公鑰是公開的,而私鑰則由用戶自己保存,所以密鑰管理相對比較簡單。
  2. 非對稱密鑰加密速度較慢,計(jì)算效率相對較低。
  3. 非對稱加密相比對稱加密更安全、可靠。

應(yīng)用場景:

非對稱加密算法在Android中常用于數(shù)字簽名、加密解密以及網(wǎng)絡(luò)傳輸中的數(shù)據(jù)加密,比如身份證號,銀行卡,等相關(guān)信息可通過加密后在傳給服務(wù)器,服務(wù)器使用私鑰進(jìn)行解密。

免責(zé)聲明:素材源于網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系刪稿。