如何使用安全存储将用户名和密码存储在 flutter 中
how about to use secure storage to store the user username and password in flutter
我正在使用 flutter 编写应用程序,现在我想使用 secure storage 来存储 username/passowrd 像这样:
SecureStorageUtil.putString("password", password);
这是一个好习惯吗?或者从不将用户密码存储在客户端应用程序中?我已经从 Google 搜索过,但没有人谈论它。这是 SecureStorageUtil
:
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
class SecureStorageUtil{
static FlutterSecureStorage _preferences = FlutterSecureStorage();
static Future<String?> getString (String key, {String defValue = ''}) {
return _preferences.read(key:key) ;
}
static Future<void> putString(String key, String value) {
return _preferences.write(key:key, value:value);
}
static Future<void> delString(String key) {
return _preferences.delete(key:key);
}
}
正如文档所说
- Keychain is used for iOS
- AES encryption is used for Android. AES secret key is encrypted with RSA and RSA key is stored in KeyStore
Keystore由系统管理,安全。如果保存密码很重要,您可以使用它。
但是,始终建议不要在 client-side 上存储密码,而是保存一些 Auth 密钥(如 JWT 令牌等)来对用户进行身份验证。
有一个名为 SharePreferences
的包可以让您在 ios 和 android 两个平台上存储任何东西,它没有任何问题。我推荐那个包。我希望这会奏效。第二件事是存储密码。如果用户在应用程序中有一个选项,例如 Remember Me
,那么存储用户名和密码很有用。
我正在使用 flutter 编写应用程序,现在我想使用 secure storage 来存储 username/passowrd 像这样:
SecureStorageUtil.putString("password", password);
这是一个好习惯吗?或者从不将用户密码存储在客户端应用程序中?我已经从 Google 搜索过,但没有人谈论它。这是 SecureStorageUtil
:
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
class SecureStorageUtil{
static FlutterSecureStorage _preferences = FlutterSecureStorage();
static Future<String?> getString (String key, {String defValue = ''}) {
return _preferences.read(key:key) ;
}
static Future<void> putString(String key, String value) {
return _preferences.write(key:key, value:value);
}
static Future<void> delString(String key) {
return _preferences.delete(key:key);
}
}
正如文档所说
- Keychain is used for iOS
- AES encryption is used for Android. AES secret key is encrypted with RSA and RSA key is stored in KeyStore
Keystore由系统管理,安全。如果保存密码很重要,您可以使用它。 但是,始终建议不要在 client-side 上存储密码,而是保存一些 Auth 密钥(如 JWT 令牌等)来对用户进行身份验证。
有一个名为 SharePreferences
的包可以让您在 ios 和 android 两个平台上存储任何东西,它没有任何问题。我推荐那个包。我希望这会奏效。第二件事是存储密码。如果用户在应用程序中有一个选项,例如 Remember Me
,那么存储用户名和密码很有用。