android开发中数据加密实现方法
android开发中数据实现方法。
1)android 数据加密
数据安全很重要,无论干什么都需要密码,各种账号密码一旦泄露造成财产的损失,但是android对数据安全支持很弱,并没有很好的数据保密措施。
2)eg: 在使用sharedpreferences 时,它是操作一个xml配置文件的,保存的地址在data/data/应用报名/shared_prefs/***.xml,打开文件全部都是明文,
使用也不安全,数据库文件具体路径在data/data/database/***.db,如果未经加密处理,
通过sqlite的管理工具,也能轻松的查看数据库中存储的各种信息,
所以我们需要使用加密文件:
加密算法有很多种: md5 rsa aes 3des
1)md5:
他是不可逆的加密算法,也就是无法解密,主要用于客户端用户密码加密,
无论原始字符串是什么,md5加密字符串都是32位的十六进制字符串
2)rsa :
算法在客户端使用公钥加密,在服务端使用私钥解密,这样一来,即时加密的公钥被泄密,没有私钥仍然无法解密,
rsa加密的3个注意事项:
1)需要导入加密算法依赖包,bcprov-jdk16-1.46.jar 将该jar包放在当前板块的libs目录下
2)rsa加密的结果是字节数组,经过base64编码才能形成最终的加密字符串,
3)根据需求对加密的字符串做reverse倒序处理;
3) aes加密
aes是设计用来替换des的高级加密算法,该算法是可逆算法,支持对加密字符串进行解密,解密时秘钥必须与加密时一致。
4)3des 加密
3des是三重数据加密算法,相当于对每个数据块应用3次des加密算法,因为原先des算法的秘钥长度过短,容易遭到暴力,所以3des算法是通过增加秘钥的长度防范加密数据被破解,在实际开发中,3des的秘钥必须是24位字节数组,另外,3des加密生成的字节数组,也得通过base64编码为文本形式的加密字符串。
该算法与aes一样是可逆的,支持对加密字符串进行解密,解密时秘钥必须与加密时一致。
推荐阅读
-
有关数据库SQL递归查询在不同数据库中的实现方法
-
Android实现滑动加载数据的方法
-
三种实现方法实现数据表中遍历寻找子节点
-
Android中RecyclerView实现分页滚动的方法详解
-
Android自定义View设定到FrameLayout布局中实现多组件显示的方法 分享
-
Android开发笔记之:在ImageView上绘制圆环的实现方法
-
Android中Market的Loading效果实现方法
-
Android中ListView下拉刷新的实现方法实例分析
-
Android编程开发ScrollView中ViewPager无法正常滑动问题解决方法
-
Android通讯录开发之删除功能的实现方法