Hawk--Andorid安全、简单的Key-Value存储

来源:互联网 发布:淘宝网店怎么管理库存 编辑:程序博客网 时间:2024/05/17 09:41

安卓的存储方案有文件存储、数据库、SharedPreferences等。我们通常也是采用上述的几种存储方案来存储应用数据,比如用户信息、应用设置等。然而由于安卓平台的开放性,一些用户通过root等方式,能直接查看甚至修改我们存储的应用数据,达到破解软件的目的,这是开发者最不愿意看到的。

还能不能好好玩耍了呢?如何是好呢?数据该怎么存呢?当然是加密存储啦!Hawk是一个安全、简单的键值对存储框架。它采用AES算法来加密数据。它确实很强大,因为:

  • 支持任意数据类型。无论是对象还是list集合等,都支持。
  • 能选择两种方式加密存储:SharedPreferences或者SQLite
  • 最主要是使用简单!存入数据,一行代码搞定:Hawk.put(key,value);读取数据,也是一行代码:Hawk.get(key,defaultValue);
  • Gson解析、和RxJava结合等……

Hawk的使用攻略(Android Studio):

1.添加依赖:在gradle配置文件中分别加入仓库地址

repositories {  // ...  maven { url "https://jitpack.io" }}

和依赖语句

dependencies {  compile 'com.github.orhanobut:hawk:1.23'}

如果想结合RxJava使用,那么需要再添加RxJava的依赖。

2.初始化Hawk:

Hawk.init(this)    .setEncryptionMethod(HawkBuilder.EncryptionMethod.MEDIUM)//设置加密方法,中等强度加密    .setStorage(HawkBuilder.newSqliteStorage(this))//设置存储方式,SqliteStorage或者SharedPrefStorage    .setLogLevel(LogLevel.FULL)//日志输出级别,FULL或者NONE    .build();

初始化语句执行一次就可以了,放在启动页Activity或者Application里

3.使用:

  • 存数据

Hawk.put(key, T); // Returns the result as boolean

  • 取数据

T result = Hawk.get(key,defaultValue);

  • 移除数据

Hawk.remove(key); // Returns the result as boolean

  • 是否包含某个key

boolean contains = Hawk.contains(key);

…………

常用的api也就以上几个啦,是不是很简单粗暴。。是不是和 SharedPreferences的使用方式基本一致。。是不是。。。是不是。。。。

更多的api和demo请访问Hawk的开源地址:

https://github.com/orhanobut/hawk

1 0
原创粉丝点击