我正在用毛伊岛编写一个应用程序,其中使用数据库。要连接到数据库,我需要一个 stringConnection,它将包含秘密信息(密码、登录名、端口等)。据我所知,这种秘密信息不能简单地存储在代码文件中。
比如说我现在有的就是这个。
public static class MySqlDatabaseManager
{
private static string _server = "someServer.com";
private static string _port = "1234";
private static string _user = "user1";
private static string _password = "password123";
private static string _database = "database1";
private static string _stringConnection = $"server={_server};port={_port};user={_user};password={_password};database={_database}";
public static User Authorization(string login, string password)
{
...
}
public static bool TestConnection()
{
...
}
}
我把所有的信息都公开在教室里。
问题是——如何安全地存储这些数据?
我尝试使用secrets.json。创建一个类来获取秘密。
public class UserSecretsManager
{
private static IConfigurationRoot _configuration = new ConfigurationBuilder()
.AddUserSecrets<UserSecretsManager>()
.Build();
public static string StringConnection => _configuration["Database:ConnectionString"];
}
但这一切只在我编写代码的设备上运行。例如,如果您在 Android 模拟器上运行该应用程序,一切都会停止工作,并且 StringConnection 将返回一个空字符串。
后来我发现 - UserSecrets 旨在用于在开发过程中存储本地开发人员机密,并且它们不会随应用程序转移到其他设备。
请告诉我如何以及在哪里可以安全地存储这些数据?