Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Shareware product key

Posted on 2004-10-15
4
Medium Priority
?
207 Views
Last Modified: 2010-04-23
I have written an application that I would like to distribute as shareware.  I am totally new to this.
I would like to create my own activation code.

Is there any standard information to include in the code?
Example:
When the person pays money, I am planning on giving a year of free updates.  The expiration date for their updates would be something I would want.
I am considering including a number to check the name in the "registered to" box (so they cannot transfer the registration to another person).  Is there a downside to this strategy that I am not thinking of?

Are there more pieces of information that would be good to include?

Also, I am guessing that this information should be encrypted.  I would like to build a code generator in ColdFusion (a web language) so I would not have to be involved.  Any ideas for a plan for this end of things?

Thanks in advance,

Matthew
0
Comment
Question by:M256
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 10

Expert Comment

by:Hans Langer
ID: 12320658
Hi,
what happend if the user register the key in 2 different computer ? if can do that then he can give his key to anybody.
0
 
LVL 8

Expert Comment

by:bramsquad
ID: 12321076
it sucks for developers, but the bottom line i think is, and what youre going to find is that if people really want your software for free, thell get it.

as far as the date thing is concerned, you could either encorperate it into the serial, or just keep a log or database of registration names with dates registered......this way, if you did an online update, you could have them put in their reg. name, it would query your db, and return successful if the date was within a year.

in my opinion, you might as well just hardcode a serial in, i think it would be a lot more cost-time effective.  you could spend a lot of time designing an algorithm for something which may or may not increase your revenue.

~b

0
 
LVL 5

Author Comment

by:M256
ID: 12321667
Thanks for the responses folks.
I understand that anybody could rip me off.  I'm OK with that.

bramsquad, what do you mean by "hardcode a serial in"?  Would it be imbedded in each copy of the software I sell?

However, I think this is a little off the subject.  I meant to ask how most people create a product key (serial code?).
Is is just a random string that has a check at the end to verify it hasn't been tampered with?
Or, do they encode information in it?
If the second, what information do they encode?

Matthew
0
 
LVL 8

Accepted Solution

by:
bramsquad earned 1500 total points
ID: 12321899
what i was talking about with "hard coding" a serial in, is mainly creating a string of characters which will give your users"full access" to the program.  

you could have your trial version for distributing, and when they send you the money you could send them a key to "unlock" the software.

this key could be hardcoded in, something as simple as

Dim ProductKey As String = "ASEF@Q#$RW#G%ASDV" '<-- or whatever you want
if Me.txtKey.Text = ProductKey Then
  UnlockSoftware()
end if

now if you were to choose to place the date in there, you could just write a small program which would create a key, and extract the date value from the key based on whatever algorithm you choose.

for example, todays date is 10/15/2004, if you wanted to incorperate that into a key, you could do something along the lines of

        Dim Gibborish() As String = {"AE$#", "EFG6", "876D"}
        Dim TodaysDate As Date = Now()
        Dim Key As String

        Key = Gibborish(0).ToString + TodaysDate.Month.ToString + _
              Gibborish(1).ToString + TodaysDate.Day.ToString + _
              Gibborish(2).ToString + TodaysDate.Year.ToString

        MsgBox(Key)

you could be more creative, but i think you get the idea.  as far as any other info, im not sure what the company would want in the serial.....i know that some programs have the serial depend on the user name....not sure why, but some do.

hope its a little more clear

~b
 
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

1.0 - Introduction Converting Visual Basic 6.0 (VB6) to Visual Basic 2008+ (VB.NET). If ever there was a subject full of murkiness and bad decisions, it is this one!   The first problem seems to be that people considering this task of converting…
Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…
Want to learn how to record your desktop screen without having to use an outside camera. Click on this video and learn how to use the cool google extension called "Screencastify"! Step 1: Open a new google tab Step 2: Go to the left hand upper corn…
Suggested Courses

704 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question