微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 如何在SQL Server数据库中安全地存储API凭据?

在我的 Windows服务中,我需要能够检索存储在同一网络上的sql Server 2012数据库中的第三方REST API的凭据.我的每个客户都可能分配了不同的API凭据.例如:

Customer Name | API ID | API Password In Plain Text
-----------------------------------------------------
Customer 1      1234     somepassword
Customer 2      1234     somepassword
Customer 3      5678     anotherpassword

在此服务的第一次迭代中,所有客户使用相同的API凭据,并使用SectionInformation.ProtectSection在Windows服务的app.config中加密.

我只使用.NET框架提供的加密/解密方法并将该值存储在数据库中吗?例如,这里提供的解决方案之一:Encrypting & Decrypting a String in C#?我可以研究任何建议或其他解决方案?

解决方法

正如@SyntaxGoonoo所建议的,我计划使用数据保护API(DAPI)提供的 ProtectedData Class.我将设置 DataProtectionScope作为与Windows服务关联的CurrentUser运行,以解密来自sql数据库的凭据.我可能不得不制作另一个加密凭证并将其存储在数据库中的应用程序(使用相同的用户上下文).

这是一些额外的资源:

> How to: Use Data Protection

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐