Creating an online activation system

Hi, I want to implement an online activation system for my application. I want to write it myself so I have full control over changing it, if it gets hacked etc.

My application is a Windows app. The user will click a button, and an encrypted string will be sent to my web app, which will decrypt it and then lookup the data in a database and then send an encrypted string back to the sender. The windows end is no problem, it's the web app where I need advice. I am not sure what technologies to use to achieve this. I want it to be as secure as possible to limit hacking. I was thinking of writing a web service (soap server) as the web app. Would this be the best way to go?

Also, the database? This will have about 30 thousand records initially and it needs to be secure. Would MySQL be a good option?

I am most familiar with Delphi 7, but I can easily adapt to any other language.

Thanks. Best regards,
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

Ivanov_GConnect With a Mentor Commented:
Web Service is good enough. Maybe you can think of XML parameters (encrypted of course)


and the response in similar way.

MySQL does not offer a consistensy with all the needed feature in development phrase. You can have a look at PostgreSQL - it is more like a real database - triggers, transactions, etc ... and syntax similar to PL/SQL. One disadvantage is if you have Full-Text-Search which is faster in MySQL
UbethatwayConnect With a Mentor Commented:
The simplest option, IMO, would simple be to use a TCP connection to pass the encryped string. As long as you have your DB server behind a firewall, and its access is restricted to your server app, then security shouldnt be an issue. Also, i would have thought that if you passed the right information to the server app in your encrypted string, you wouldnt need a full-text-search (if you set up you primary keys properly etc).

Hope that helps, Mark
TheRealLokiConnect With a Mentor Senior DeveloperCommented:
any HTTP server that supports SSL is fine.
even Indy has a demo that does this (there is also just a simple Indy TCP SSL demo)
At the server end, you can use whatever you want. mysql will be fine for this.
Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.


I had a similar question a short time ago and a person called Workshop Alex gave me an excellent and detailed explanation of options available.

It may help you.

Best Regards

Hi, the question has not been answered, but please split the points between Ivanov_G , Ubetthatway and BlakeUK.

There are no options for me to accept answers, perhaps because the question is old.

If you want to ask a question about my account please e-mail me directly.
If anyone is reading the solution to this, please ignore the accepted answer. "cwwkie" ignored my request on points spread, so it is misleading. In fact this thread should be deleted as it will likely put people on the wrong track if they have a similar issue.

All Courses

From novice to tech pro — start learning today.