PathProvider 文档目录是一个安全的位置吗?

Is the PathProvider documents directory a secure location?

任何人都可以确认 documents directory file storage method with Flutter 是安全的还是 AppData 目录 where/how Android 存储其内部存储文件?

我正在考虑在设备上存储一些持久的本地数据,但我想确保我写入的数据不是纯文本数据,也不是 anyone/anything 其他人可以访问的数据。如果这是一个常规的 Android 应用程序,我会使用 Android 的 Internal Storage,它表示存储的数据是 "private to your application and other applications cannot access them (nor can the user). When the user uninstalls your application, these files are removed."

Flutter 有自己的平台不可知的方式来读取和写入文件,它的文档说将东西保存到它的文档目录存储文件 "only it can access. The system clears the directory only when the app is deleted. On iOS, this corresponds to NSDocumentsDirectory. On Android, this is the AppData directory."

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

是的,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 Security Tips ,关于内部存储的部分:

By default, files that you create on internal storage are accessible only to your app. Android implements this protection, and it's sufficient for most applications.

此处的例外情况是,当您的应用程序在获得 root 权限的 Android 设备上运行时,应用程序数据文件夹不再安全,请参阅 。