我的项目中有一个 DLL 文件 (cf.dll)。它有一些加密和解密字符串 To/From 文件的方法。
我的“cf.dll”有一些方法:
写“mystring”---to-->>新的加密dll
和
读取加密的 dll ---to--->> "mystring"
现在我想发布我的项目,但如果最终用户在他/她的视觉工作室中使用我的 dll(通过引用 dll),他/她可以解密我的加密文件。
另一方面,我在我发布的项目中需要这个 dll,因为我的项目有时会使用他们的方法。
现在我的问题是: 如何将这个已发布的 dll(cf.dll)更改为非引用 dll,以防止它被任何黑客攻击。
编辑(更多细节):
我想做的事:
我想将一些连接字符串(作为数据表)加密到一个文件中并再次读取这个文件。
我有一个 dll 文件来完成这项工作。它是cf.dll。它有一些加密和解密的方法。
加密工作流程>
DatatTable ------to----->> Xml as String ------通过cf.dll方法到-------->> enc.dll
解密工作流程
enc.dll ------通过cf.dll方法到------>> Xml as String ------到----->> DataTable
一切正常,并创建了加密文件 (enc.dll)。
但是,如果最终用户在 Visual Studio 的新项目中使用我的魔法 DLL (cf.dll)(通过引用它),他/她可以解密我的加密文件 (enc.dll) 并破解我的程序。
所以,我想通过将我的 DLL (cf.dll) 更改为非引用 DLL或使用其他安全解决方案来防止这种黑客攻击。
编辑:
用于保存连接字符串数据的我的表列:
Server DbName DbUser DbPass FileName
但是我可以要求通过这种加密机制保存另一个 DataTable。所以请帮助我通过一个解决方案来保存任何字符串,而不仅仅是一个 ConnectionString。我想要一个来自任何数据的非常安全的加密文件。在我的解决方案中,我将每个对象转换为一个字符串,然后使用我的 dll 方法将其保存为加密文件(我可以做得很好,我的问题如上所述)。