Android是目前最常见的手机操作系统,随着科技的发展,Android应用程序对安全防范的要求也不断增高,而这就离不开各种加密算法的应用。下面我们就来盘点一下Android常用的加密算法有哪些。

hash算法

代表:MD5、SHA系列等

简介:

严格来讲这不算是一种加密算法,应该叫做信息摘要算法。它也是目前Android开发中应用非常广的算法。hash算法是指某种从随意长度的数据中建立数据“指纹”的算法。它可以将随意长度的数据映射为固定长度的信息,这个投射后的数据我们称之为哈希值。

hash算法

特点:

  1. 正向快速:给定明文和 hash 算法,在有限时间和有限资源内能计算出 hash 值。
  2. 逆向困难:给定 hash 值,在有限时间内很难逆推出明文。
  3. 输入敏感:原始输入信息修改一点信息,产生的 hash 值看起来应该都有很大不同。
  4. 冲突避免:很难找到两段内容不同的明文,使得它们的 hash 值一致。

应用场景:

在Android中hash算法常用于数字签名,以及对敏感数据进行加密处理,比如密码储存、数据校验等。

对称加密算法

代表:AES、DES、3DES等

简介:

对称加密算法也被称为单密钥加密,简单来说就是加密和解密使用相同密钥的加密算法。

对称加密算法

特点:

  1. 加密方和解密方使用同一个密钥。
  2. 加密解密的速度比较快,适合数据比较长时的使用。
  3. 密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦。

应用场景:

对称加密算法在Android中常用于对数据进行加密和解密,如本地数据加密、网络数据传输、网页交互数据加密等。

非对称加密算法

代表:RSA、ECC、DSA等

简介:

非对称加密算法于对称加密算法相反,它拥有两个密钥,分别是公钥和私钥。如果用公钥进行加密,只有用对应的私钥才能解密;如果用私钥进行加密,只有用对应的公钥才能解密。

非对称加密算法

特点:

  1. 由于公钥是公开的,而私钥则由用户自己保存,所以密钥管理相对比较简单。
  2. 非对称密钥加密速度较慢,计算效率相对较低。
  3. 非对称加密相比对称加密更安全、可靠。

应用场景:

非对称加密算法在Android中常用于数字签名、加密解密以及网络传输中的数据加密,比如身份证号,银行卡,等相关信息可通过加密后在传给服务器,服务器使用私钥进行解密。

免责声明:素材源于网络,如有侵权,请联系删稿。