3

谁能确认使用 Flutter 的文档目录文件存储方法是安全的,或者 AppData 目录是否是 Android 存储其内部存储文件的位置/方式?

我正在考虑在设备上存储一些持久的本地数据,但我想确保我写的数据不是纯文本或任何人/任何其他人都可以访问。如果这是一个常规的 Android 应用程序,我会使用 Android 的内部存储,它说存储的数据是“您的应用程序私有的,其他应用程序无法访问它们(用户也不能)。当用户卸载您的应用程序时,这些文件将被删除。”

Flutter 有自己的与平台无关的方式来读写文件,它的文档说将内容保存到其文档目录存储文件“只有它可以访问。系统仅在删除应用程序时清除目录。在 iOS 上,这对应于 NSDocumentsDirectory . 在 Android 上,这是 AppData 目录。

看起来这些都在谈论同一件事,因此符合我的安全标准,但这些都是我不太熟悉的事情,我不想冒险使用我的用户数据。我尝试用谷歌搜索找出保存在 Android 上的“AppData”目录中的内容,但大多数人都在谈论他们的 Android Studio 安装。

4

1 回答 1

5

是的,iOS上的NSDocumentDirectory和 Android 上的AppData是安全的位置。

示例中的这一行为您提供了存储只能由您的应用程序访问的文件的正确路径:

String dir = (await PathProvider.getApplicationDocumentsDirectory()).path;

在 Android 上dir解决/data/data/com.yourcompany.AppName/. 在 iOS 设备上,该文件夹是/var/mobile/Containers/Data/APP_ID/Documents.

检查Android 安全提示内部存储部分:

默认情况下,您在内部存储上创建的文件只能由您的应用访问。Android 实现了这种保护,对于大多数应用程序来说已经足够了。

这里的例外是,当您的应用在有根的 Android 设备上运行时,应用数据文件夹不再安全,请参阅https://stackoverflow.com/a/8184699

于 2017-02-07T10:56:47.040 回答