Need Serial number creator VB6 (for my software:)


Looking for ways to create a secure serial number based upon company name and program version.  I just need a simple way to generate a number/letters combo based upon those two items, but it also has to be fairly secure.  Program will decrypt/unhash upon load.  At this point I don't want to use hdd serial or anything like that just simple program to create and in my prog will know how to decrypt.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Ignacio Soler GarciaSolution Architech & Technical LeadCommented:
Just ask the user to send you a user name, then you apply a secret hash function (One-Way Function) over it and then you return the hash value of the name to the client.

At the start of the program it does the hash function again to the name supplied and checks if two hash values are the same.

Askme more if you need.

P.D: Here you can find info about hash functions:


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Wim ten BrinkSelf-employed developerCommented:
Just create a GUID. GUID's are statistically always unique. Then calculate a hash over the GUID (converted to a string), the company name and the version number. Don't decrypt it, though. (Unhashing cannot be done since a hash is a one-way street.) The GUID can be stored in binary form in your application. And to check if the user hasn't modified things, just calculate the hash again over the GUID, company name and version and compare it with the hash value that you've stored somewhere. If all is okay, they should be identical. (And the GUID just adds a bit of salt to your application.)

If possible then avoid decryption in your application. Just use the one-wat encryption that any hash will offer. Then just compare the hash value with the original hash value. This should be pretty secure, although no system will be 100% secure.

Try to take a look at

This is a free component where the users can generate a key from your software which they can use to protect you application

It will also check for dates and allow you to create a "testversion" for several days. The software is open source + free so you can check the code or "just use it"

Hope this helps :)

That's what I use on my app's and it's just great!

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.