我是一名使用xamarin.android的移动开发人员,我的任务迟早是为通常来自银行的客户提供应用程序。 我目前正在使用领域(初学者)开发适用于不需要安全问题的应用程序。
我想知道的是,如果我要创建一个应用程序,那么它会为所有类型的黑客提供更安全的本地数据库,并且让它说...它适用于银行移动系统。
答案 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?