dll - c#dll加密

标签 dll encryption code-access-security dllexport code-security

我需要加密 ASP.NET 页面使用的 C# 代码。所以,当我编译创建一个 DLL 文件时,我确实需要加密我的 DLL 文件。请帮我如何加密DLL文件...

最佳答案

您可以做的一件事是将加密的 .dll 嵌入到另一个要在运行时解密和加载的 .dll 中。

  • 首先,使用您要保护的所有代码编译一个 .dll。
  • 其次,以您认为合适的任何方式加密 .dll。
  • 然后,创建第二个 .dll,将加密的 .dll 作为资源嵌入。
  • 让第二个外部 .dll 在运行时请求 key 。
  • 然后外部 .dll 将使用 key 解密加密的 .dll。
  • 然后外部 .dll 可以调用 System.AppDomain.CurrentDomain静态方法,并使用 Load 加载解密的 .dll方法。
  • 然后,外部 .dll 可能必须在 ASP.NET 和解密的 .dll 之间进行一些互操作。

  • tis 方法有局限性。每次启动时,您都需要为实例提供一个 key 才能运行。有办法拦截这个。此外,一旦提供了 key ,解密的 .dll 将存在于内存中,解密后。有多种阅读方式。

    这种方法实际上仅用于保护可能窃取硬盘驱动器的人的代码。对于控制将运行代码的机器的任何人来说,这并不是绝对的障碍。

    关于dll - c#dll加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5092922/

    相关文章:

    dll - 安装Microsoft.Xaml.Behaviors.Uwp.Managed的dll冲突如何解决?

    c# - 托管位于插件 DLL 中的 WPF 页面

    c# - winform 应用程序是否有可能从根目录以外的路径加载其 dll?

    javascript - 在 Javascript 上实现 Diffie Hellman key 交换?

    c# - 承担多种角色的自定义 CodeAccessSecurityAttribute

    c# - 创建数组 get 方法的委托(delegate)失败

    c - 使用不在 System32 中的 DLL

    java - 如何列出可用的密码算法?

    java - 密码保护加密 key ?

    asp.net - ASP.NET 4.0 中的信任级别是否已过时?