2011-06-14 86 views
2

在.NET中执行此操作的最佳做​​法是什么? 我的问题是,我想与我创建的web服务进行交互。为了确保没有“创意”用户,可以滥用服务,我想加密参数(输出是敏感的)。在.NET中存储加密/解密密钥

我以为我是聪明的,通过使用web服务,而不是让我的应用程序直接进入我们的数据库,但我显然不够聪明,知道如何处理密钥。

那么,如何在我的本地安装的应用程序中存储密钥,我使用加密参数? 当然,我会阻止“创意”用户检索它。

我想我可以从web服务中提供密钥,但我真的没有看到任何好处。人们仍然可以调用服务,并获得密钥。如果每个人都可以反编译代码,并获得密钥(如果它存储在代码中),那么我如何在.NET中处理加密/解密密钥?

回答

0

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

另一种方法是使用证书保护到Web服务的链接,并将证书作为资源嵌入到应用程序中。然后这将停止非常创意用户使用例如。 Wireshark可以读取去往和来自服务的流量。详细信息是here

+1

这只适用于您加密的机器。 – Oded 2011-06-14 07:59:08

+0

.config加密仅适用于asp.net,对吧? – Nicolai 2011-06-15 06:46:41

+0

这真的是我唯一的选择吗? – Nicolai 2011-06-16 06:20:09