如何在.NET中存储加密密钥

时间:2015-11-05 17:24:03

标签: .net encryption

存储ecryption键的位置和方式?快速搜索后,我不知道如何存储加密密钥而无需编码或提示用户。

常见方案:安装在不同PC上的桌面应用程序,可访问服务器数据库。该数据库具有ecrypted数据,使用唯一密钥和随机IV进行交换。

如果我选择使用DPAPI在注册表中存储唯一键,或者使用密钥容器或任何其他方法,如何在不提示用户或通过代码执行的情况下存储它,可以使用它轻松地反编译反射器,ILSpy?我之前从未使用过ILSpy或任何其他反编译软件,我对您的代码读取的简便性感到非常惊讶。那么,如何创建/存储/"安装"密钥,所以应用程序可以用它来加密/解密?

我知道,我不明白,我必须阅读更多内容:)

1 个答案:

答案 0 :(得分:0)

如果您需要安全加密策略,则需要使用不需要向用户询问密钥的加密算法。

您描述了一种2层架构,客户端PC直接访问数据库。你能介绍一个网络服务吗?允许Web服务访问加密数据,并使用SSL在客户端PC和Web服务之间进行通信。

使用这种方法,您只需配置一次数据库加密密钥(在服务器上),并在客户端和服务器之间保护数据。服务器使用行业标准方法。 (您可以使用WCF,或者您可以使用各种服务器端技术来创建REST Web服务)