Android是目前最常见的手机操作系统,随着科技的发展,Android应用程序对安全防范的要求也不断增高,而这就离不开各种加密算法的应用。下面我们就来盘点一下Android常用的加密算法有哪些。
hash算法
代表:MD5、SHA系列等
简介:
严格来讲这不算是一种加密算法,应该叫做信息摘要算法。它也是目前Android开发中应用非常广的算法。hash算法是指某种从随意长度的数据中建立数据“指纹”的算法。它可以将随意长度的数据映射为固定长度的信息,这个投射后的数据我们称之为哈希值。
特点:
- 正向快速:给定明文和 hash 算法,在有限时间和有限资源内能计算出 hash 值。
- 逆向困难:给定 hash 值,在有限时间内很难逆推出明文。
- 输入敏感:原始输入信息修改一点信息,产生的 hash 值看起来应该都有很大不同。
- 冲突避免:很难找到两段内容不同的明文,使得它们的 hash 值一致。
应用场景:
在Android中hash算法常用于数字签名,以及对敏感数据进行加密处理,比如密码储存、数据校验等。
对称加密算法
代表:AES、DES、3DES等
简介:
对称加密算法也被称为单密钥加密,简单来说就是加密和解密使用相同密钥的加密算法。
特点:
- 加密方和解密方使用同一个密钥。
- 加密解密的速度比较快,适合数据比较长时的使用。
- 密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦。
应用场景:
对称加密算法在Android中常用于对数据进行加密和解密,如本地数据加密、网络数据传输、网页交互数据加密等。
非对称加密算法
代表:RSA、ECC、DSA等
简介:
非对称加密算法于对称加密算法相反,它拥有两个密钥,分别是公钥和私钥。如果用公钥进行加密,只有用对应的私钥才能解密;如果用私钥进行加密,只有用对应的公钥才能解密。
特点:
- 由于公钥是公开的,而私钥则由用户自己保存,所以密钥管理相对比较简单。
- 非对称密钥加密速度较慢,计算效率相对较低。
- 非对称加密相比对称加密更安全、可靠。
应用场景:
非对称加密算法在Android中常用于数字签名、加密解密以及网络传输中的数据加密,比如身份证号,银行卡,等相关信息可通过加密后在传给服务器,服务器使用私钥进行解密。
免责声明:素材源于网络,如有侵权,请联系删稿。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。