sqlite 使用SharedPreferences、FlutterSecureStorage等的最佳方式

cvxl0en2  于 2023-06-23  发布在  SQLite
关注(0)|答案(1)|浏览(94)

我想使用Flutter创建一个应用程序:
1.需要用户有密码才能使用应用程序。FlutterSecureStorage是否足够安全?我想保存密码。如何做到这一点(最佳算法)?
1.显示打开/关闭应用程序时的更改,用户选择的主题等选项。我应该在哪里以及如何保存数据?在SharedPreferences还是SQLite之类的数据库中?
1.我想知道在页面之间传递值的最佳方式。我是将值保存在SharedPreferences中,还是通过导航URL传递它们?

3qpi33ja

3qpi33ja1#

1.如果不需要将密码本身保存在应用程序中以备以后使用,最好的做法是通过一些安全协议将其发送到一些后端,例如:https,然后会生成oauth令牌,允许您验证用户,而无需与密码有任何关系(最安全的方式)。但这并不总是可能的,安全存储应该是好的,手机也需要保持类似的数据安全,所以我们可以更好地依靠它们。

  1. SharedPreferences对于大多数用途来说都很好。它易于使用和足够快。如果我知道我将不得不处理大量的结构化数据,我会考虑SQLite
    1.这真的取决于你拥有的实际用例。如果你想传递会话数据,那么SharedPreferences不是最好的选择,你应该求助于一些状态管理的东西,例如。providerbloc,...我只会使用StatefulWidgets来保存控制器和与单个Widget严格耦合的非常简约的状态,并且我只会使用永久存储来保存您想要在会话之间保存的数据,因为它速度较慢并且不提供任何侦听方法。

相关问题