C# 如何在SQL Server数据库中安全地存储API凭据?
在Windows服务中,我需要能够检索存储在同一网络上的SQL Server 2012数据库中的第三方REST API的凭据。我的每个客户可能都有一个不同的API凭证分配给他们。例如:C# 如何在SQL Server数据库中安全地存储API凭据?,c#,sql-server,cryptography,C#,Sql Server,Cryptography,在Windows服务中,我需要能够检索存储在同一网络上的SQL Server 2012数据库中的第三方REST API的凭据。我的每个客户可能都有一个不同的API凭证分配给他们。例如: Customer Name | API ID | API Password In Plain Text ----------------------------------------------------- Customer 1 1234 somepassword Customer 2
Customer Name | API ID | API Password In Plain Text
-----------------------------------------------------
Customer 1 1234 somepassword
Customer 2 1234 somepassword
Customer 3 5678 anotherpassword
在该服务的第一次迭代中,所有客户都使用相同的API凭据,并使用在Windows服务的app.config中对其进行加密
我是否只使用.NET framework提供的一种加密/解密方法,并将该值存储在数据库中?例如,这里提供的解决方案之一:?任何我可以研究的建议或其他解决方案?如@SyntaxGoonoo所建议,我计划使用数据保护API(DAPI)提供的。我将设置为以与Windows服务关联的CurrentUser身份运行,以解密SQL数据库中的凭据。我可能必须创建另一个应用程序来加密凭据并将其存储在数据库中(使用相同的用户上下文) 以下是一些额外的资源: