获取机器码 然后将其加密,加密后的数据就是License
一般用rsa加密 你在软件中配置好公钥 
私钥你自己留着

解决方案 »

  1.   


    不是很明白,如果没有私钥,我在程序中怎么验证用户得到的 License 文件或序列号??我又如何在程序中来解密?
      

  2.   


    你说的加壳是什么意思 ? 如果我要在程序中验证 License 有没有某一个指定的功能,(例如:写功能,如果没有写功能的话,就不能使用某个模块),这加壳能做到吗?
      

  3.   

    你不加壳,代码就是裸奔,有License也没用
      

  4.   


    可以说得详细一点吗? 加壳后就可以不用 License 吗?
      

  5.   


    不是很明白,如果没有私钥,我在程序中怎么验证用户得到的 License 文件或序列号??我又如何在程序中来解密?
    rsa加密你先去了解下.你只要保管好你的私钥就可以了,程序中只要用公钥就可以进行解密你用私钥加密过的数据,
    只要解密后的数据和机器码进行比对一下 就能判断该机器是否通过验证了
      

  6.   


    不是很明白,如果没有私钥,我在程序中怎么验证用户得到的 License 文件或序列号??我又如何在程序中来解密?
    rsa加密你先去了解下.你只要保管好你的私钥就可以了,程序中只要用公钥就可以进行解密你用私钥加密过的数据,
    只要解密后的数据和机器码进行比对一下 就能判断该机器是否通过验证了
    那公钥是不是硬写在程序里面?
    另外,如果这个私钥不需要用在解密,那这个私钥还有什么用??
      

  7.   


    不是很明白,如果没有私钥,我在程序中怎么验证用户得到的 License 文件或序列号??我又如何在程序中来解密?
    rsa加密你先去了解下.你只要保管好你的私钥就可以了,程序中只要用公钥就可以进行解密你用私钥加密过的数据,
    只要解密后的数据和机器码进行比对一下 就能判断该机器是否通过验证了
    那公钥是不是硬写在程序里面?
    另外,如果这个私钥不需要用在解密,那这个私钥还有什么用??
    公钥 可以硬写在程序里
    私钥用来加密用
    你先去google下rsa加密
      

  8.   


    不是很明白,如果没有私钥,我在程序中怎么验证用户得到的 License 文件或序列号??我又如何在程序中来解密?
    rsa加密你先去了解下.你只要保管好你的私钥就可以了,程序中只要用公钥就可以进行解密你用私钥加密过的数据,
    只要解密后的数据和机器码进行比对一下 就能判断该机器是否通过验证了
    那公钥是不是硬写在程序里面?
    另外,如果这个私钥不需要用在解密,那这个私钥还有什么用??
    公钥 可以硬写在程序里
    私钥用来加密用
    你先去google下rsa加密我大概想明白其中的意思了,私钥应该是可以用来生成很多个 License 文件,这个理解是否准确?我稍后再 google rsa ,我还有一个问题想问清楚一些,关于上面所说的加壳,对 License 有帮助吗?用 RSA 是否不用加壳? 还有如何防止加入了 License 后又给容易的把 License 限制去掉?这点应该用什么概念??
      

  9.   


    可以说得详细一点吗? 加壳后就可以不用 License 吗?加壳就是加代码呀,代码里面加啥都行,具体工具好多,搜索.net加壳
      

  10.   


    不可能要每个客户的服务器都插上个加密狗吧???
    如果我在程序中加入了 License 验证功能后, 现在还有什么做法是可以防止把 License 从程序中去掉的保护机制?
      

  11.   

     C#授权组件设计 - LicenseControlProject
    http://blog.csdn.net/wonsoft/article/details/3123264
      

  12.   

    http://www.cnblogs.com/JamesLi2015/archive/2013/05/03/3055998.html
      

  13.   


    非常感谢,很有用。但是,该文中好像没有提及到一点,就是当其他用户拿到应用程序后,通过反编绎将代码反出来,然后将涉及到 License 的那一部分代码去除,对于这一点我们在程序中应该如何做才能避免此情况的发生??
      

  14.   


    非常感谢,很有用。但是,该文中好像没有提及到一点,就是当其他用户拿到应用程序后,通过反编绎将代码反出来,然后将涉及到 License 的那一部分代码去除,对于这一点我们在程序中应该如何做才能避免此情况的发生??楼上不是说了加壳么?
      

  15.   


    非常感谢,很有用。但是,该文中好像没有提及到一点,就是当其他用户拿到应用程序后,通过反编绎将代码反出来,然后将涉及到 License 的那一部分代码去除,对于这一点我们在程序中应该如何做才能避免此情况的发生??楼上不是说了加壳么?
    我不是很明白那个加壳是怎么样做?这个加壳跟使用 .Net Obfuscator 将代码混淆是不是同一样东西?
     可否给个例子?
      

  16.   

    不加壳是很容易给反编译的
    加壳:
    http://www.cnblogs.com/jason-liu-blogs/archive/2012/07/30/2615883.html
    http://download.csdn.net/download/wwtwx/689064