C# 如何在appsettings.json asp.net core中加密/解密字段/对象
我想对appsetings.json中的连接字符串进行加密并解密,然后再将其传递给ConfigureServices方法中的options.UseSqlServer(配置[“数据库:连接”])。不幸的是,互联网上关于asp.net内核的内容并不多。连接字符串如下所示:C# 如何在appsettings.json asp.net core中加密/解密字段/对象,c#,asp.net,asp.net-core,C#,Asp.net,Asp.net Core,我想对appsetings.json中的连接字符串进行加密并解密,然后再将其传递给ConfigureServices方法中的options.UseSqlServer(配置[“数据库:连接”])。不幸的是,互联网上关于asp.net内核的内容并不多。连接字符串如下所示: "Database": { "Connection": "string" } 我可能也希望其他设置对象也是如此,以下是我环顾四周的结果,但我想我迷路了。任何建议,高度赞赏。多谢各位 public class
"Database": {
"Connection": "string"
}
我可能也希望其他设置对象也是如此,以下是我环顾四周的结果,但我想我迷路了。任何建议,高度赞赏。多谢各位
public class CustomConfigProvider : ConfigurationProvider, IConfigurationSource
{
public CustomConfigProvider()
{
}
public override void Load()
{
Data = UnencryptMyConfiguration();
}
private IDictionary<string, string> UnencryptMyConfiguration()
{
// do whatever you need to do here, for example load the file and unencrypt key by key
//Like:
var configValues = new Dictionary<string, string>
{
{"Database", "string"}
};
return configValues;
}
private IDictionary<string, string> CreateAndSaveDefaultValues(IDictionary<string, string> defaultDictionary)
{
var configValues = new Dictionary<string, string>
{
{"Database", "string"},
};
return configValues;
}
public IConfigurationProvider Build(IConfigurationBuilder builder)
{
return new CustomConfigProvider();
}
}
公共类CustomConfigProvider:ConfigurationProvider,IConfigurationSource
{
公共CustomConfigProvider()
{
}
公共覆盖无效负载()
{
数据=未加密配置();
}
私有IDictionary未加密配置()
{
//在这里执行您需要执行的任何操作,例如加载文件并逐个密钥取消加密
//比如:
var configValues=新字典
{
{“数据库”,“字符串”}
};
返回配置值;
}
专用IDictionary CreateAndSaveDefaultValues(IDictionary defaultDictionary)
{
var configValues=新字典
{
{“数据库”,“字符串”},
};
返回配置值;
}
公共IConfigurationBuilder生成(IConfigurationBuilder)
{
返回新的CustomConfigProvider();
}
}
尝试搜索“c#encryption example”是否可能重复您要隐藏此数据的原因?如果应用程序本身包含“解密”所需的所有内容,则您“发明”的任何算法都不会保护此数据。应用程序安装在本地IIS上,应用程序从本地网络访问SQL server。我在appsettings.json中有连接字符串,我想加密连接部分。有什么方法可以做到这一点吗?这里的问题是如何从appsettings.json文件进行加密,而不是如何进行简单的字符串加密。通过框架实现这一点并不简单。说这是重复是不真实的。请尝试搜索“c#encryption example”可能的重复,以了解您为什么要隐藏此数据?如果应用程序本身包含“解密”所需的所有内容,则您“发明”的任何算法都不会保护此数据。应用程序安装在本地IIS上,应用程序从本地网络访问SQL server。我在appsettings.json中有连接字符串,我想加密连接部分。有什么方法可以做到这一点吗?这里的问题是如何从appsettings.json文件进行加密,而不是如何进行简单的字符串加密。通过框架实现这一点并不简单。说这是重复是不诚实的。