SecurePreference的添加方法
2015-12-16 18:45
260 查看
Android开发中,SharedPreference用来保存一些信息在手机本地中,这些信息一般情况下都是非敏感信息,但是有时候为了方便和用户体验的考虑,会将一些较为隐私的信息也用SharedPreference保存。比如App的手势密码等等。而SharedPreference采用明文的方式将信息存放在“/data/data/应用程序包/shared_prefs”目录的.xml中(模拟器),开发中虽然会以MODE_PRIVATE方式保存(沙盒),但是对于root过的手机这并没有什么作用,可以很容易地被查看到存储的内容。下面介绍SecurePreference,并不是说用它就可以避免上述的问题,但是它的确能从一定程度上加强存储的安全性,下面会慢慢说到。
SecurePreference使用相同的存储机制,但是键值对会被用AES对称密钥加密,在写到文件中去之前,加密后的键和值还会再进行一次base64编码。
第二步,新建一个项目,将secure-preference-master/library/src/main/java/com/securepreferences/ 目录下面的SecurePreference.java文件复制到src(Eclipse)或者java目录下;
类似:
![](https://img-blog.csdn.net/20151216190833195)
第三步,这时会发现SecurePreference.java文件中缺少AesCbcWithIntegrity类,google了一下发现这个也是开源库,于是和上面一样下载其Zip包并解压。Github地址;
第四步,将第三步解压目录下java-aes-crypto-master\aes-crypto\src\main\java\com\tozny\crypto\android\中的AesCbcWithIntegrity.java同样复制到刚才新建的项目中,类似这样:
![](https://img-blog.csdn.net/20151216192059803)
第五步,新建一个测试类,来验证:
![](https://img-blog.csdn.net/20151216192329353)
第六步,运行;
用Android Device Monitror查看模拟器中存放的sp文件:
![](https://img-blog.csdn.net/20151216192741198)
可以看到在包名下面的shared_prefs目录下确实有我们刚刚执行后产生的sp.xml文件,导出后查看:
![](https://img-blog.csdn.net/20151216193008772)
从sp.xml的内容中可以看到,程序里面保存的键值对(加密后)以base64编码方式存储,即使被查看到,也不知道它具体的作用,从一定程度上增加了本地存储的安全性。
SecurePreference的用法很简单,可以查看github内容,也可以参考这篇文章,还可以查看源码,这里不再做详细介绍。
SecurePreference简介
SecurePreference是一个开源库,兼容Android2.1+系统,使用Apache2.0用户许可,因而可以用于商业开发。SecurePreference库实现了SharedPreference接口,因此,使用起来会很方便,如果项目中想加入它,之前的SharedPreference交互的代码都不需要更改。SecurePreference使用相同的存储机制,但是键值对会被用AES对称密钥加密,在写到文件中去之前,加密后的键和值还会再进行一次base64编码。
在项目中加入SecurePreference
第一步,从Github地址中下载Zip包,并解压;第二步,新建一个项目,将secure-preference-master/library/src/main/java/com/securepreferences/ 目录下面的SecurePreference.java文件复制到src(Eclipse)或者java目录下;
类似:
第三步,这时会发现SecurePreference.java文件中缺少AesCbcWithIntegrity类,google了一下发现这个也是开源库,于是和上面一样下载其Zip包并解压。Github地址;
第四步,将第三步解压目录下java-aes-crypto-master\aes-crypto\src\main\java\com\tozny\crypto\android\中的AesCbcWithIntegrity.java同样复制到刚才新建的项目中,类似这样:
第五步,新建一个测试类,来验证:
第六步,运行;
用Android Device Monitror查看模拟器中存放的sp文件:
可以看到在包名下面的shared_prefs目录下确实有我们刚刚执行后产生的sp.xml文件,导出后查看:
从sp.xml的内容中可以看到,程序里面保存的键值对(加密后)以base64编码方式存储,即使被查看到,也不知道它具体的作用,从一定程度上增加了本地存储的安全性。
SecurePreference的用法很简单,可以查看github内容,也可以参考这篇文章,还可以查看源码,这里不再做详细介绍。
相关文章推荐
- Android实现表情 抓取新浪表情
- 详解Android解析Xml的三种方式——DOM、SAX以及XMLpull
- android开发环境遇到adt无法启动的问题分析及解决方法
- Android开发 旋转屏幕导致Activity重建解决方法
- Android开发技巧之在a标签或TextView控件中单击链接弹出Activity(自定义动作)
- Android开发技巧之ViewStub控件惰性装载
- Android学习笔记之Shared Preference
- Android中删除Preference详解
- 分享10个很棒的学习Android开发的网站
- android开发之横向滚动/竖向滚动的ListView(固定列头)
- Android开发技巧之我的菜单我做主(自定义菜单)
- Java使用Preference类保存上一次记录的方法
- Windows下使用Apache Cordova开发ANDROID之HelloWorld
- Secure CRT 乱码问题解决
- 配置lamp排错指南
- 2008组策略_Preference部署打印机
- ORA-04031问题
- linux 内存释放
- SecureCRT破解汉化版