Generating Serial Number Lists - how?
Hello.
Although I've heard the term "algorithm" many times, I still don't know how to come up with one to generate a unique list of Serial Numbers, (or Registration Codes). Can anyone point me in the right direction for learning a good way to do this?
thanks!
Re: Generating Serial Number Lists - how?
It might be a little more difficult to write a sequential algorithm like this in MMF, but it's still possible.
You could build up each serial number from several random numbers (use a fastloop to generate them from a list of possible characters, storing each one in a String as you go). Then once it's been generated, add it to a List object only if the List object doesn't already contain a matching serial number - though if you have a decent length of serial number and selection of characters, that's pretty unlikely anyway.
This assumes that you're not wanting the serial to be based on existing data - if that's the case, then I'd recommend that you just use the String Parser to MD5 it all and take a bit out of that.
Re: Generating Serial Number Lists - how?
I believe I used the Highscore Code Generator back for MMF1.5 for mine... but that was the lazy way out ^_^;
I know thats not the name of the exension, but I can't remember what it was atm...
Re: Generating Serial Number Lists - how?
Why dont you just use ICP, that will allow you to generate your serial/registration keys.
Jason
Re: Generating Serial Number Lists - how?
Not familiar with ICP myself... what exactly is it? And for my system, I wanted it to be generated on the fly (based on the customer's name and serial number... both had to be correct for it to work) and that was in program.
Re: Generating Serial Number Lists - how?
ICP is Install Creator Pro - check out Clickteam.com for details.
Secure Keygen 2
Keygen v4
OTP encryption?
I'd probably use the Blowfish object (there should be examples in the MMF2 folder if you have the bonus pack).
Re: Generating Serial Number Lists - how?
Have a name and email address and combine them into a string like so
"john smith" + "john@smith.com" + "add a secret string here"
Add the secret string for security and then hash it all together with the QuickHash object, check if the info they were given matches the data inputed when registering.
Hope this makes sense its a very basic outline of the process but I can make an example if you struggle. This method does it all dynamicallly and requires no actual database.
Its a good idea to encrypt the data once stored after registering the app too...
Re: Generating Serial Number Lists - how?
Yes this is method that I use in application registration. It removes the need to have a certain number of working keys that anyone can take and use, plus it also takes away the dependency on an activation server. I generate keys using the basis that IsaacBoy mentions above but I also add my own little spin on it too just to make it different and unique ;) It also means that if a customer tried to request support from you then you'll get a good idea whether the user is a legitimate license owner or not, (because of the name and email is required to match the license key as its checked by the registration system in the app) :)
Re: Generating Serial Number Lists - how?
These are all terrific ideas! Thanks for all the input.
If I were to use the Customer Information as the Registration Code, how would I send them their Code automatically after their purchase? (Instead of them having to wait until I check my email...)
Re: Generating Serial Number Lists - how?
That part, I haven't worked out yet ^_^;
You might be able to setup a program that receives email from one address (There is a mail object for MM2 I think) and when that message comes in, you could try extracting the information from the message, generate the key, and send the email right back to the customer. Of course, you're computer would need to be online all the time ^_^;;;
At least... thats what I'm planning to do ^_-
Re: Generating Serial Number Lists - how?
It should be possible in theory to do what you're doing, but for the time being I'll be manually processing all purchases. However what you suggest about the automating of the process is something I'm looking into. I have already programmed an in-house solution to contain customer purchase information and I don't see it too hard to have a program that creates licenses and then pass that information on to the customer storage database
One thing mind... if it's a simple as sending an email with a name and email address... what's stopping a person from sending an email to that without paying and getting a load of serial keys. With it automatic you would find it hard to intercept once the email is received and processed.
For now manual is the way for me. It means I can see who is purchasing and offer personalised responses as well as get an idea on sales figures. To be honest unless you're a large corporation, generating a lot of sales per day or both then is automation absolutely necessary all the way?
Re: Generating Serial Number Lists - how?
Basically, since at least I'm only accepting paypal, I would probably verify the sender was from payments@paypal.com as part of the verification process (or whatever the email is that sends you the confirmation of payment) and extract the customers email address (and any other relevant information) from that email to generate the key, and have the program send the mail back to that person...
Though your right, personalized responses are better and I completely agree... but honestly don't check my email every day... and sometimes I get caught up with playing World of Warcraft (lame excuse, I know) ^_^;; Automated would more or less ensure that they got the key in a more timely matter.
Unless, I could live off the money I would make from the program /games I sell (not likely though), I probably would be lax in responding to emails I suppose ^_^;
Re: Generating Serial Number Lists - how?
LaraSoft,
Very good point about payment confirmation. My main concern was that the customer couldn't use the product until I emailed them a code. If I'm offline for two days, that'd be two days before they could use it.
But, after thinking about this, I'll just have all my apps contain a Trial object, so that it can be used for X amount of days without a correct Code. That will still give them the ability to use the app while waiting for their code.
Re: Generating Serial Number Lists - how?
If you are using paypal, you can setup a php script to automatically generate a serial (hash or w/e). With other payment programs (kind of what Maverick said), you could have all of the order e-mails sent to an additional e-mail, have a script or program download those e-mails, then have it parse the information, generate the serial, add the info to a database for your use, and then send off a serial off to the customer.
Re: Generating Serial Number Lists - how?
If i was a buyer of a product i would still want some form of confirmation. Also what happens if i leave it until the product trial has completed before deciding to buy?
Having people purchase a product online can be alot of trouble, and you have to try and respond quickly to the user.
I had one user buy one of my products, and it states it takes upto 24 hours to get the code (the trial runs forever so its not a problem in that respect), but they were not happy they didnt get the code within an hour of purchasing. It was lucky i was still online at 12 oclock at night, otherwise they would have had to wait another 7 or 8 hours...lol
So it is something to keep in mind.
Jason
Re: Generating Serial Number Lists - how?
Quote:
If you are using paypal, you can setup a php script to automatically generate a serial (hash or w/e).
This sounds like a great option... except for the php learning curve for me (at this point).
(heading off to wikipedia to learn about php...)
Re: Generating Serial Number Lists - how?
PHP's a great language, its only real drawback being its variety of colourful error messages that don't relate at all to the problem if you mess your syntax up.
Re: Generating Serial Number Lists - how?
Quote:
Originally Posted by DavidN
PHP's a great language, its only real drawback being its variety of colourful error messages that don't relate at all to the problem if you mess your syntax up.
Man, is that ever familiar! :D
Pkeod: Exactly what I had in mind! ^_^
Also, I agree with Jason myself. When I order something online, I like to see a confirmation email saying they got my payment. It kind of puts the buyers mind at ease. Though if you still do it manually, you could setup your email to automatically reply with something along the lines of "We have received your request and are currently generating your password, you will receive it within 48 hours" and maybe add a ticket / confirmation # in the email in case they never get their key.