Suggerirei qui un elenco segreto-conservato di partipicanti e un ID casuale.
In questo modo:
Nome Namesson ID = 18479
Test Testsson ID = 29472
e così via.
Questo è tenuto segreto, e il lato analista non ha accesso alla lista.
Il problema con un identificatore univoco irreversibile è che devi ancora eseguirlo tramite un algoritmo del computer. Quindi è possibile che l'utente digiti il proprio nome e data di nascita, quindi verifica se esiste già una voce.
Se la voce esiste, sostituire il nome reale dell'utente e la data di nascita con la voce esistente.
Se la voce non esiste, creare una nuova identità casuale e sostituire il nome reale dell'utente e la data di nascita con la voce appena creata.
Se si utilizza un sistema ID "automatico", è necessario assicurarsi che lo stesso utente non possa inviare di nuovo la stessa domanda. Ciò garantisce che non sia possibile eseguire il "test" degli ID, se si applica in tal modo se l'utente X invia un'applicazione, l'utente X viene contrassegnato come "speso" nel database.
Quando si apre la prossima applicazione, è sufficiente rimuovere il marcatore "esaurito" su tutti gli utenti.
Utilizzando un sistema "esaurito", è necessario anche eseguire il buffering di tutte le applicazioni in modo che non vengano inviate al lato analista fino a quando nessuno ha completato l'applicazione, OPPURE viene passata l'applicazione "data di scadenza".
Altrimenti, il lato analista potrebbe semplicemente verificare per tentativi ed errori ogni volta che viene ricevuta una singola applicazione, che l'utente è ora "speso".
Oppure, si rilasciano identificatori casuali agli utenti semplicemente. Quindi l'elenco potrebbe essere tenuto su carta, conservato in una cassastrong.
Una terza soluzione consiste nell'utilizzare un hash algorithm o bcrypt, combinato con una chiave segreta o una password. La chiave segreta o la password sono conosciute solo dal lato del collezionismo, non dal lato dell'analista. Ciò significa che anche se il lato analista ha un elenco completo di partipicant e un elenco di tutti gli hash dell'applicazione, non è ancora possibile annullarlo tramite tentativi ed errori poiché non conoscono la chiave segreta o la password.
La chiave segreta o la password possono quindi essere conosciute solo dall'applicazione e archiviate in una cassastrong.