Day 24: License Key Generator Completed

I’ve been getting the occasional e-mail from an online poker player who is interested in my software. Each e-mail helps boost my enthusiasm and my motivation to get Poker Copilot out by next Monday.

Today I got stuck into a task I’ve been avoiding: the license key generator. Fortunately it wasn’t so hard once I had worked out how I would do it. It took a few sketches on paper, some time getting familiar with Java’s cryptography API again, and an evening of coding.

The basic model is this:

30-Day Evaluation
when you download Poker Copilot you have an automatic 30-day evaluation.

Creating a License Key
When you buy a license I generate a key from your user name and a couple of other things. I encrypt this using public-private key encryption. I send you the encrypted key by e-mail.

Using a License Key
Poker Copilot knows how to decrypt the key but not how to encrypt. It decrypts the key and checks that it contains your username and some other information.

With this model, anyone who reverse engineers Poker Copilot will be able to decrypt keys. However only I can encrypt – and therefore create – keys.

I hope the concept proves valid. Now I’m going to finish the day with 30 minutes of poker.