Does anyone have experience of implementing key based product activation inside a QT application? Either standalone i.e. the key is validated on the users machine or server based i.开发者_开发知识库e. the key is validated on the server and the application is enabled.
I'm planning on distributing on Mac, Windows and Linux. The commercial solutions I've seen so far have been far too expensive for a poor, bedroom based developer!
As a small or indie developer you best choice maybe to roll your own activation key system. There are a lot of ways to generate CD-Keys. What you need to do depends heavily on the software. If your costumer is small and most business then you probably could get away with a hashing scheme. The idea would be to generate a key for each customer that has information about the customer hashed into the key. This type of key is based round the idea of keeping honst people honst. If this is something being sold openly on the internet you may want to look at a public private key system with an activation server that connects a users MAC to their key. As a customer these thins suck but id can reduce piracy.
QCA is Qt Cryptographic Architecture http://delta.affinix.com/qca/
Botan is a nice looking cryptography library, I read that Qt Creator uses it http://botan.randombit.net/
You can use QCryptographicHash to hash keys http://doc.qt.io/qt-5/qcryptographichash.html
Info on public keys http://williamstallings.com/Extras/Security-Notes/lectures/publickey.html
精彩评论