Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何创建激活器&x2B;我的.Net应用程序的keygen?_C#_.net_Trialware - Fatal编程技术网

C# 如何创建激活器&x2B;我的.Net应用程序的keygen?

C# 如何创建激活器&x2B;我的.Net应用程序的keygen?,c#,.net,trialware,C#,.net,Trialware,我想创建一个只能在一台计算机(PC)上运行的应用程序。软件应通过激活密钥激活(用户向我发送激活序列号,我将向他发送代码)。我该怎么做有什么建议吗?谢谢。除了在链接中提供的答案之外,我遇到的最简单的解决方案实际上是恢复ProcessorID,并使用带有开始和结束日期的加密算法对其进行哈希运算,如果有任何日期限制管理的话 仅给出一个基本想法: 好:很容易开发,而且是免费的 坏:如果它取决于开始日期和结束日期,你基本上是在PC上查找,所以为了欺骗控件,它足以将你的计算机日期放回。可能重复的@Mat:它

我想创建一个只能在一台计算机(PC)上运行的应用程序。软件应通过激活密钥激活(用户向我发送激活序列号,我将向他发送代码)。我该怎么做有什么建议吗?谢谢。

除了在链接中提供的答案之外,我遇到的最简单的解决方案实际上是恢复ProcessorID,并使用带有开始和结束日期的加密算法对其进行哈希运算,如果有任何日期限制管理的话

仅给出一个基本想法:

好:很容易开发,而且是免费的


坏:如果它取决于开始日期和结束日期,你基本上是在PC上查找,所以为了欺骗控件,它足以将你的计算机日期放回。

可能重复的@Mat:它可能是重复的,但不是那个问题。实际上它不是重复的。我想实现我自己的解决方案,但我不想使用任何现成的解决方案。@AlirezaNoori,关于这一点,仍然有很多问题,特别是这样做的利弊。当您可以指出是什么将其与其他区别开来时,您会有一个更好的问题。使用操作系统磁盘上的序列号而不是处理器ID如何。更改磁盘序列号可能需要重新激活windows,这会给希望运行未经授权的windows副本的任何人增加复杂性软件。@ja72:磁盘可能会被更改,但处理器肯定不会被更改。因此,从磁盘与处理器的对比来看,在这种情况下,我会选择处理器作为机器依赖(硬件)键的更可靠的数据源。我认为最好的方法是使用所有这些数据源(处理器、HDD等),并添加1或2个更改容差。这样,如果用户更改其中一个或两个组件,软件仍然可以工作。