在做一个功能,隐私功能,保存应用数据到本地的数据库,那么数据一定要加密,否则稍微懂点技术的人就能获取数据了,也就没有隐私了。那么对数据加密,用什么样的加密方法呢?
先来了解点基础知识吧,一看就懂了。
你使用网银时,是否担心你的银行卡会被盗用?
当你和朋友用QQ进行聊天时,是否担心你的隐私会被泄露?
作为开发者,编写安全的代码比编写优雅的代码更重要,因为安全是一切应用之根本!为了确保数据不被侵犯,数据加密/解密技术运用而生。 ——摘录自《Java加密解密的艺术》
所以为了确保数据传输和数据存储的安全,我们可以通过特定的算法,将数据明文加密成复杂的密文。
众多的加密手段大致可以分为单项加密和双向加密。单项加密指通过对数据进行摘要计算生成密文,密文不可逆推还原,比如有Base64、MD5、SHA等;双向加密则相反,指可以把密文逆推还原成明文,其中双向加密又分为对称加密和非对称加密。对称加密是指数据使用者必须拥有同样的密钥才可以进行加密解密,就像大家共同约定了一组暗号一样,对称加密的手段有DES、3DES、AES、IDEA、RC4、RC5等;而非对称加密相对于对称加密而言,无需拥有同一组密钥,它是一种“信息公开的密钥交换协议”。非对称加密需要公开密钥和私有密钥两组密钥,公开密钥和私有密钥是配对起来的,也就是说使用公开密钥进行数据加密,只有对应的私有密钥才能进行解密。此类的加密手段有RSA、DSA等。
【密码学常用术语】
明文:未加密的数据
密文:明文经过加密后的数据
加密:将明文转换为密文的过程
解密:将密文转换为明文的过程
加密算法:将明文转换为密文的转换算法
解密算法:将密文转换为明文的转换算法
加密密钥:用于加密算法进行加密操作的密钥
解密密钥:用于解密算法进行解密操作的密钥
参考链接:
http://wanghongzhu2002.blog.163.com/blog/static/5538462013712315065/
3DES,也称为3DESede或TripleDES,是三重数据加密,且可以逆推的一种算法方案。
http://www.cnblogs.com/AloneSword/archive/2013/09/12/3316446.html
http://www.cnblogs.com/AloneSword/p/3316864.html
http://www.cnblogs.com/AloneSword/p/3316421.html