sqlite vs realm来自黑客的数据安全性

时间:2016-10-10 08:10:44

标签: android sqlite mobile xamarin.android realm

我是一名使用xamarin.android的移动开发人员,我的任务迟早是为通常来自银行的客户提供应用程序。 我目前正在使用领域(初学者)开发适用于不需要安全问题的应用程序。

我想知道的是,如果我要创建一个应用程序,那么它会为所有类型的黑客提供更安全的本地数据库,并且让它说...它适用于银行移动系统。

2 个答案:

答案 0 :(得分:3)

Realm和SQLite都使用存储在内部存储中应用程序私有目录中的文件。对于大多数情况来说这是安全的,因为除了你的应用程序之外不允许访问它。

但是,您必须考虑root设备。有了这些,用户可以轻松浏览整个文件系统,包括应用程序的私人目录。

鉴于此,我们最好的选择依赖于数据加密。

Realm supports AES-256 encryption如果您要求:

byte[] key = new byte[64];
new SecureRandom().nextBytes(key);
RealmConfiguration config = new RealmConfiguration.Builder(context)
  .encryptionKey(key)
  .build();

Realm realm = Realm.getInstance(config);

使用那些访问Realm将透明地加密/解密持久存储到磁盘的任何数据。这样可以提高安全性,而无需作为开发人员为您提供额外的帮助。

This project摧毁了如何利用Realm的加密功能。

至于SQLite ......我还没有找到任何东西。也许你最好的办法是亲自手动加密/解密。

答案 1 :(得分:1)

您是否尝试过sqlicipher android