在.NET中存储加密/解密密钥

3
在.NET中,如何处理加密/解密密钥,以防止其他人反编译代码并获取密钥(如果它存储在代码中)?对于我创建的Web服务进行交互时,我希望加密参数(输出结果很敏感),以确保没有“有创意”的用户会滥用该服务。我曾考虑过使用Web服务而不是让我的应用程序直接进入数据库,但我似乎还不够聪明,不知道该如何处理密钥。那么,我该如何在本地安装的应用程序中存储密钥以及将其加密的参数?当然,我希望防止“有创意”的用户能够检索到它。或许我可以从Web服务中提取密钥,但我真的看不到任何好处。因为人们仍然可以调用服务并获取密钥。
1个回答

0

一个简单的方法是将密钥存储在配置文件中,然后加密配置文件(可以是web.configapp.config)- 详细信息在这里

另一种方法是使用证书保护 Web 服务的链接,并将证书作为资源嵌入应用程序中。 这将阻止非常有创造力的用户使用例如 Wireshark 来读取服务收发的流量。详情在这里


这真的是我的唯一选择吗? - Nicolai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接