在 Flutter 中构建应用时,SharedPrefernces 和 Flutter_secure_storage 包有啥区别?还是他们做同样的事情?

Posted

技术标签:

【中文标题】在 Flutter 中构建应用时,SharedPrefernces 和 Flutter_secure_storage 包有啥区别?还是他们做同样的事情?【英文标题】:What is the difference between SharedPrefernces and Flutter_secure_storage packages when building an app in flutter? or do they do the same thing?在 Flutter 中构建应用时,SharedPrefernces 和 Flutter_secure_storage 包有什么区别?还是他们做同样的事情? 【发布时间】:2021-04-17 03:01:26 【问题描述】:

我正在尝试使用 api 令牌在 Flutter 中构建一个应用程序,我想知道 SharedPrefences 和 flutter_secure_storage 包是否做同样的事情或者它们是否不同。

【问题讨论】:

【参考方案1】:

flutter_secure_storage 包使用带 MODE_PRIVATE 的 SharedPreferences,如您所见 here:

preferences = context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);

它还通过 AES 使用额外的加密。来自readme: AES encryption is used for android. AES secret key is encrypted with RSA and RSA key is stored in KeyStore。您可以在source code中找到详细信息。

对于安全令牌和其他敏感数据,使用 flutter_secure_storage 比使用私有模式的原始 SharedPreferences 更安全。

【讨论】:

以上是关于在 Flutter 中构建应用时,SharedPrefernces 和 Flutter_secure_storage 包有啥区别?还是他们做同样的事情?的主要内容,如果未能解决你的问题,请参考以下文章

尝试在我的 Flutter 应用程序中使用 flutter_local_notification 插件构建时出错

在 Android 上构建 Flutter 应用程序时如何修复“依赖失败”

为啥我的 Flutter 应用程序在执行时没有构建?

如何在 Flutter 中构建 apk 创建旧版本应用程序

为啥在使用 Flutter 模块构建 iOS 原生应用时修复“Frameworks/Flutter.framework: Permission denied”?

Gradle 在构建 Flutter 应用程序时突然开始报错