【发布时间】:2022-11-17 06:16:06
【问题描述】:
我正在处理我想使用共享首选项的 flutter 项目。看下面的代码:
Future<String?> getCredentials() async {
final localStorage = await SharedPreferences.getInstance();
final email = localStorage.getString('email');
final password = localStorage.getString('password');
return email, password;
}
这是我的 getCredentials 函数 我希望此函数将电子邮件和密码作为不同的参数返回,但 dart 不允许我可以请你帮助我我该怎么做?
整个 SharedPreference 代码:
import 'package:shared_preferences/shared_preferences.dart';
class sharedPreference {
Future<String?> saveCredentials({
required String email,
required String password,
}) async {
final localStorage = await SharedPreferences.getInstance();
await localStorage.setString('email', email);
await localStorage.setString('password', password);
}
Future<String?> getCredentials() async {
final localStorage = await SharedPreferences.getInstance();
final email = localStorage.getString('email');
final password = localStorage.getString('password');
return email, password;
}
}
【问题讨论】:
-
存储密码是个坏主意。
-
@Patrick 如果我无法存储密码,但用户登录一次后仍然可以在没有凭据的情况下登录,还有其他方法吗?
-
仅存储密码哈希,例如使用 crypto 包。