ASP.NET激活码

ASP.NET激活码,asp.net,encryption,Asp.net,Encryption,我要在第三方服务器上安装一个ASP.NET,我想用一些方法来保护这个代码不被复制到其他服务器上,所以我想用一些方法来激活代码。。。考虑到我在加密方面不是很先进,我想: 使用\u安装\u域+一些\u密钥生成代码,例如SHA1 将此代码保存在web.config中,或将其拆分,然后将一部分保存在web.config中,另一部分保存在DB或文件中 在每个页面中,检查SHA1(当前\u域+密钥)是否等于web.config中的激活密钥(或者如果我拆分它,则重新加入激活密钥) 如果没有,退出执行 它够聪明

我要在第三方服务器上安装一个ASP.NET,我想用一些方法来保护这个代码不被复制到其他服务器上,所以我想用一些方法来激活代码。。。考虑到我在加密方面不是很先进,我想:

  • 使用\u安装\u域+一些\u密钥生成代码,例如SHA1
  • 将此代码保存在web.config中,或将其拆分,然后将一部分保存在web.config中,另一部分保存在DB或文件中
  • 在每个页面中,检查SHA1(当前\u域+密钥)是否等于web.config中的激活密钥(或者如果我拆分它,则重新加入激活密钥)
  • 如果没有,退出执行
  • 它够聪明还是真的很傻?我知道没有什么是完美的,但是第一个关注反编译代码的极客会一见钟情吗


    谢谢你

    你想阻止什么?上述解决方案可能会阻止某人在未经授权的服务器上运行您的代码(大约5秒钟,请参见下一点),但如果某人确实设法进入您的服务器并复制了您的二进制文件,他们可以轻松地对其进行反向工程并提取您的所有代码(并删除您添加的任何运行时保护)。你可以使用模糊处理软件使这个过程变得更加困难,但并非不可能。是的,我希望代码不要在其他服务器上执行,这是我的问题,我会在发布模式下进行模糊处理和编译,但它会这么容易被破坏吗?有更好的解决方案吗?这行不通。有什么能阻止某人获取这段代码,对域运行每一个加密算法(在我脑海中…在.Net中实现的不到15个?),以获取这段代码,然后将其存储在他们的web.config副本中?另外,为每个页面加载运行加密算法可能会导致性能问题。是否真的有人会窃取并运行您的代码?是的,这是一种风险,问题是:哈希键不仅来自域,而且来自域+密钥。事实上,这把钥匙是硬编码的源代码,所以聪明的人会接受它,但他需要多聪明呢?我不担心性能,这是一个很好的服务器是的,但这是和代码存储在同一台机器上的密钥,对吗?那么,如果他们可以抓取你的二进制文件的副本,有什么能阻止他们也抓取你的密钥呢?