在flutter中构建应用程序时,SharedPrefernces和Flutter_secure_storage包有什么区别?或者他们做同样的事情?

问题描述 投票:0回答:2

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

android ios flutter mobile
2个回答
17
投票

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

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

它还通过 AES 使用额外的加密。来自自述文件

AES encryption is used for Android. AES secret key is encrypted with RSA and RSA key is stored in KeyStore
。您可以在源代码中找到详细信息。

对于安全令牌和其他敏感数据,使用

flutter_secure_storage
而不是私有模式的原始 SharedPreferences 会更安全。


UPD:网络警告

来自包文档:Flutter Secure Storage 使用 WebCrypto 进行实验性实现。此时使用需要您自担风险。


0
投票

差异

基本上,为什么您应该使用flutter_secure_storage,因为它提供了另一个安全层而不是共享首选项。在共享首选项中,数据按原样存储为键值对。 而 flutter_Secure_Storage 则通过加密密钥值在存储数据之上提供了另一个安全层。它使用IOS Keychain,这是在 IOS 操作系统的加密数据库中存储少量用户数据的机制。此外,对于 Android 操作系统,还有Android Keystore 机制。因此,如果您希望在移动应用程序中存储一些重要的数据,那么您绝对应该选择flutter_secure_storage。在这里您可以了解如何使用 flutter_secure_storage 和 Shared_Preferences。

共享首选项 --->

Shared_Preferences_Implementation Flutter 安全存储 --->
Flutter_Secure_Storage_Implementation

© www.soinside.com 2019 - 2024. All rights reserved.