在哪里存储数据,以便在不使用云服务的情况下使用 React Native 保持持久和安全?



这不是一个关于存储系统使用什么的问题,而是一个关于在移动平台(iOS和Android(上本地存储数据的可能策略的问题。

我不会使用 AsyncStorage,因为数据没有加密,我认为 Realm 可能是一个很好的候选者,但我对其他替代方案持开放态度。

我的跨平台 React Native 应用程序处理一些应该在设备上持久存在的合理数据。我想要的坚持的意思是:

未经用户许可,iOS或Android不得删除/删除/清除一些合理的数据。每次应用程序升级时必须可用的数据,例如在每个新版本中,这些数据必须保持不变且可用,就像应用程序更新后什么都没有发生一样。如果应用程序处于后台(任务管理器(,关闭或重新启动,则不得删除/删除/清除数据。即使设备重新启动,数据也必须可用。

我使用 Realm 尝试了这些案例中的每一个,看起来都非常好,但由于我在移动开发方面没有太多经验,所以我更愿意询问社区我对 Realm 的考虑是否正确。如果没有,我会问可能的替代方案是什么,为什么我错了。

不幸的是,我无权使用云存储(例如CloudKit,iCloud,Firebase等(。我的应用必须仅在设备上本地处理此数据。


新方案

与上述相同的先前限制(不得删除/删除/清除的合理数据[...](,但考虑到使用云存储系统的可能性,在这种情况下最好的良好做法是什么,或者更好:我在哪里可以找到关于这两个平台的这些东西的"最先进的文档"?

您已经尝试过 realm,这是存储加密数据的非常好的选择。但是,如果您想要像具有加密功能的异步存储之类的存储,则可以使用:- https://www.npmjs.com/package/react-native-sensitive-info(这是我用于我的项目( 它对两个平台都支持,如果您使用的是expo,那么默认情况下expo提供SecureStore(https://docs.expo.io/versions/latest/sdk/securestore/(。

您还可以在 React Native 和 Expo 中查看加密敏感数据

数据持久性:请参阅 react-native-sensitive-info 会将数据存储在 Android 共享首选项、iOS 钥匙串和 Windows 凭据中,即使您关闭/重新启动应用程序,它也会可用。当您清除应用程序的存储空间时,它将被删除。

安全性:可以肯定的是,它将安全地存储数据,正如他们在npm网站上提到的那样,我们仅将此软件包用于此目的,而不是异步存储以获得我公司安全团队的许可。

相关内容

最新更新