Re: Licensing Components

From: Nils Haeck (n.haeckno_at_spamchello.nl)
Date: 11/03/04


Date: Wed, 3 Nov 2004 22:27:59 +0100

Part of the key should verify the name, and part of the key should hold
information.

Suppose you have an "Algorithm A" that creates a short hash of something
longer, and an "Algorithm B" that encrypts and "Algorithm C" that decrypts
information. When you first do B then C you will have the same info back.

Think of Algorithm A as something like CRC16, and Algorithm B/C as blowfish
or even simpler, ROT13.

What you do when you create the key:

1) Take the customer's name, and use Algorithm A to create a short hash,
e.g:
John Doe -> F3B7

2) Add the information you want to the key
<Hash><#Licenses><Version> -> F3B7001ST

3) Use Algorithm B to encrypt this string
F3B7001ST -> A3243FD14Z

What you do when verifying information

1) Take the customer's name, and use Algorithm A to create a short hash,
e.g:
John Doe -> F3B7

2) Use Algorithm C to decrypt the code they provide
A3243FD14Z -> F3B7001ST

3) Verify if the first part of the two match (the short hash), if they match
you can use the second part to grant licenses, unlock versions, etc.

Hope that helps,

Nils Haeck

"Chris M" <chris@_takethisout_eventsoft.com> wrote in message
news:41893e9b$1@newsgroups.borland.com...
> Could someone recommend a component (or even a way of doing it myself)
> that would work in this situation.
>
> I need to make my program use a license key (AFSD-AFFD-AGAG, type of
> thing). The key would be based on a combination of the registrants
> name, the number of licenses they purchased, and the version of the
> software they bought (i.e. Standard, Professional, Enterprise).
>
> On a new installation I would like to prompt them for their name and the
> code they were given. If a valid code is given, I want my program to be
> able to figure out how many licenses to grant and which version's
> features to enable.
>
> What can I achieve this with?
>
> Thanks.



Relevant Pages

  • Re: SHA-1 vs. triple-DES for password encryption?
    ... be better to use a standard algorithm rather than a home-grown one. ... SHA-1 and 3DES have been reviewed for some time. ... This is where a hash comes in nicely. ... Longer passwords and hashes aid in making the hash much harder to work with. ...
    (SecProg)
  • Re: sort unique
    ... given that a hash table is not ... IMO if the vendor's algorithm does something "obvious", ... function to eliminate keys that hash to the same bucket per some ... strings of random lengths, and two strings are ...
    (comp.lang.lisp)
  • Re: out of memory
    ... read only the smaller file into a hash. ... the smaller file will fit into RAM. ... Depending upon the sorting algorithm this would be Ologor ... put your relevant data into a database and use ...
    (comp.lang.perl.misc)
  • Re: freebsd-updates install_verify routine excessive stating
    ... The algorithm with awk is still the fastest in theory. ... ASSUMING you have a good hash function that yields such result. ... to have enough free inodes on your file system. ...
    (freebsd-hackers)
  • Re: Probabalistic algorithms.
    ... >Hashing is typically just an optimisation. ... all the hash does is guarantee that given some ... >hard to factor the composite into its two prime factors. ... >algorithm that's dfaster than brute force factorisation, ...
    (comp.lang.pascal.delphi.misc)