none
How to generate and validate a software license key using C#?

    Question

  • Could you please explain or provide any sample,  how to generate and validate a software license key using C#?
    Wednesday, June 24, 2009 1:00 PM

Answers

  • Could you please explain or provide any sample,  how to generate and validate a software license key using C#?

    Hi – I think my information can help you

    Think of “algorithms” in different forms. Hash algorithms (e.g. MD5 and other) can be used. In order, to prevent crack and hacking, we should store the algorithm has inside Windows® registry (Microsoft® Corporation stores their Windows® Product Serial Key inside Windows® registry. However, they are using a lot more advanced algorithm).


    The key should be stored in this form:

    User->Enters Product Key->The “Key” entered gets computed into HASH string data. Then the hash gets verified with another algorithm has inside Windows® registry. If the hash is “correct” then it will re-update the other hash (the stored one), with the new one.

    ALSO: MAKE SURE TO UPDATE AND ENCRYPT YOUR APPLICATION SOURCE CODE, SINCE NOT MANY WINDOWSAPPLICATIONS (*.EXES) ARE ENCRYPTED LIKE NORMAL WINDOWS BASED C/C++ APPS.


    I hope the above information was helpful…

    Have a nice day…

    Best regards,
    Fisnik    


    Coder24.com
    • Edited by Fisnik Hasani Thursday, June 25, 2009 8:55 AM Text Quality
    • Marked as answer by Harry Zhu Tuesday, June 30, 2009 9:10 AM
    Thursday, June 25, 2009 8:54 AM
  • It could be anything really, from just adding all the values in the registration name to some complicated encryption algorithms. Writing a license system isn't any different from writing any other code, you research what you want and solutions on the market already, you design a system or decide to buy a commercial solution and you implement it. If you want to write it your self there's tons of examples on the internet already google is your friend here. However do realize not matter how well you protect your application someone with enough determination and time on his hands will always crack it
    • Marked as answer by Harry Zhu Tuesday, June 30, 2009 9:10 AM
    Wednesday, June 24, 2009 2:37 PM

All replies

  • It could be anything really, from just adding all the values in the registration name to some complicated encryption algorithms. Writing a license system isn't any different from writing any other code, you research what you want and solutions on the market already, you design a system or decide to buy a commercial solution and you implement it. If you want to write it your self there's tons of examples on the internet already google is your friend here. However do realize not matter how well you protect your application someone with enough determination and time on his hands will always crack it
    • Marked as answer by Harry Zhu Tuesday, June 30, 2009 9:10 AM
    Wednesday, June 24, 2009 2:37 PM
  • Could you please explain or provide any sample,  how to generate and validate a software license key using C#?

    Hi – I think my information can help you

    Think of “algorithms” in different forms. Hash algorithms (e.g. MD5 and other) can be used. In order, to prevent crack and hacking, we should store the algorithm has inside Windows® registry (Microsoft® Corporation stores their Windows® Product Serial Key inside Windows® registry. However, they are using a lot more advanced algorithm).


    The key should be stored in this form:

    User->Enters Product Key->The “Key” entered gets computed into HASH string data. Then the hash gets verified with another algorithm has inside Windows® registry. If the hash is “correct” then it will re-update the other hash (the stored one), with the new one.

    ALSO: MAKE SURE TO UPDATE AND ENCRYPT YOUR APPLICATION SOURCE CODE, SINCE NOT MANY WINDOWSAPPLICATIONS (*.EXES) ARE ENCRYPTED LIKE NORMAL WINDOWS BASED C/C++ APPS.


    I hope the above information was helpful…

    Have a nice day…

    Best regards,
    Fisnik    


    Coder24.com
    • Edited by Fisnik Hasani Thursday, June 25, 2009 8:55 AM Text Quality
    • Marked as answer by Harry Zhu Tuesday, June 30, 2009 9:10 AM
    Thursday, June 25, 2009 8:54 AM
  • If you are willing to try a commercial licensing solution then check Ellipter.
    It creates short product keys with embedded product info and/or expiration time handled automatically and is based on elliptic curves asymmetric cryptography.

    Saturday, December 12, 2009 11:58 AM
  • Nice tool. However, I prefer using my customized solutions.
    Coder24.com
    Saturday, December 12, 2009 12:02 PM
  • I tried the Ellipter software and found it wanting in many areas.  I've since switched to License Vault from spearmantech.  

    After going through all the trouble of creating a hashing algorithm how do you prevent your end-user some massively distributing that key so all his/her known associates won't use your application as well.  

    In the end you'll have to switch to a commercial solution and it's better to do that at first than later on when you've already distributed previous versions of your application with that security flaw.  
    Wednesday, January 06, 2010 6:26 AM
  • Catalin,

    You should be upfront and disclose that you are the owner of SoftActivate.

    Thursday, December 29, 2011 2:14 PM
  • I am late to this post, but I would like to introduct License IT by www.datajuggler.com (my company).

    License IT isn't free, but it is cheaper than all of the license systems I have found.

    You can download a trial from www.datajuggler.com

    or watch a movie on YouTube:

    https://www.youtube.com/watch?v=BycOw5KPCr4

    License IT comes with a Windows and WPF sample.

    License IT is affordably priced and easy to setup:

    Standard:     $50
    Professional: $100
    Enterprise:   $200


    Corby

    Friday, April 26, 2013 2:42 AM