在C#Dll中保存加密数据和私钥的安全方法
本文关键字:私钥 安全 方法 数据 C#Dll 保存 加密 | 更新日期: 2023-09-27 18:25:34
关于以最安全的方式存储连接字符串的问题。
我目前的做法(别笑)
1.编写RSAEncryption程序并传递连接字符串以生成密码
2.将Cypher和私钥存储在资源文件中
3.运行时再次检索到加密文件。
我对使用配置文件的担忧
-我正在创建库,所以将使用我的dll的项目将需要复制我的配置文件,我不想要
请告诉我将连接字符串存储在dll中的最佳做法。
谨致问候,Omkar
.NET中有一个内置机制来加密配置的部分。美妙之处在于,你可以使用DPAPI,让机器自己创建密钥,所以除了Windows,没有人知道它是什么。最棒的是,你可以免费获得这一点(小的学习曲线),而且在加密配置文件的谷歌快速搜索中可以轻松处理学习曲线。可能不适合所有场景,但它比快速设想的替代方案更有可能安全。
这里唯一的问题是,如果这是shrinkwrap软件(即,您正在销售软件),但有一些方法可以解决这个问题,方法是让安装需要网络,并添加他们不知道的比特,而您加密时这些比特只会在安装过程中进入内存。:-)