Dire che ho un software pezzo che consente alle persone di scaricare una versione di prova che può essere sbloccata. I seguenti passaggi potrebbero essere un modo efficace per implementare un sistema chiave per lo sblocco del software?
- L'utente può scaricare la versione di prova del software. Per acquistare devono accedere al sito Web e inserire i dati di pagamento e una email.
- Da questa email viene generato un hash MD5. Questo hash è memorizzato in un DB controllato da me e anche inviato via email all'acquirente.
- L'utente prende l'hash dall'email, lo inserisce nel software. Il software invia questo come parte di una richiesta HTTP a un servizio web che controllo.
- Il servizio web contrassegna questo hash come "usato". Invia quindi una risposta che indica che il software dovrebbe sbloccare. Una volta che un hash è contrassegnato come "usato", non può essere utilizzato per sbloccare nuovamente.
Qualcuno può vedere problemi con questo piano? C'è un metodo diverso che dovrei usare per qualcosa di simile?