在面试或是实际开发中,我们总是会被各种加密算法或术语搞蒙,其实将他们分类来研究就会清晰多了。
首先Android的加密根据作用可分为三个阶段:保密性,完整性,和身份验证。
保密性是我们主要关注的加密阶段:用的加密算法分两种(对称性加密和非对称性加密。)
对称性加密代表性算法是DES加密(公钥和私钥一样)
非对称性加密代表性算法是RSA加密(公钥和私钥不一样)
完整性:是确保数据传输时数据不被改变
用到的算法有MD5(128位),SHA(256位,目前比较火)
身份验证:分为CA机构认证的签名(收费),和自签名(免费);根据公司要求选择
这三个阶段组合使用,可以提高数据的安全可靠性。
另外还有一个常提到的base64是用于方便数据传输的,将对象或图片格式通过base64转换成字节码格式,方便在网络中传输。
base64加解密都是固定算法(网上可查),对懂计算机人员没有安全性可言。