.net - 在 .NET 中存储加密/解密 key

在 .NET 中执行此操作的最佳实践是什么? 我的问题是,我想与我创建的网络服务进行交互。为了确保没有“创意”用户可以滥用该服务,我想加密参数(输出是敏感的)。

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

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

我想我可以通过网络服务提供 key ,但我真的看不出这样做有什么好处。人们仍然可以调用该服务并获取 key 。

长话短说 一般来说,当每个人都可以反编译代码并获取 key (如果它存储在代码中)时,我如何处理 .NET 中的加密/解密 key ?

最佳答案

一种简单的方法是将 key 存储在配置中,然后加密配置文件(web.configapp.config)- 详情为here .

另一种方法是使用证书保护到 Web 服务的链接,并将证书作为资源嵌入到应用程序中。这将阻止非常有创意的用户使用例如Wireshark 读取进出服务的流量。详细信息是 here .

https://stackoverflow.com/questions/6340585/

相关文章:

domain-driven-design - 如何更新聚合内的实体

makefile - 规范 'simple project' 生成文件

visual-studio-2010 - 在 Visual Studio 中自动终止 "Stop D

facebook - 如何在 Facebook 上为我的应用程序上传没有黑色颗粒状边框的图标?

asp.net - 如何从使用 URL 路由的 ASP.NET 站点上的 URL 中删除参数?

sql - 死锁:插入与从多个表中选择。快照隔离?

svn - 对于 SVN/Tortoisesvn,如何只显示文件夹属性的日志,即不显示文件夹的内容?

php - PHP 中的静态类是不好的做法吗?

winforms - 更新 ClickOnce 应用程序

python - 如何使用 tripit API 制作独立工具?