Sto generando un codice di verifica da utilizzare per l'attivazione dell'account. Probabilmente hai già visto questo genere di cose prima.È una stringa casuale un buon codice di verifica
La mia domanda: se dovessi generare questo codice con una formula complessa come questa:
md5(md5(time().'helloguys'.rand(0,9999)));
E 'davvero meglio di generare solo una stringa casuale di 32 caratteri e numeri come gj3dI3OGwo5Enf...
?
Si potrebbe prendere in considerazione Base32 codifica del risultato in modo che sia più facile per gli utenti di distinguere tra personaggi che sembrano simili in qualche font. –
Oltre a generare un valore casuale (ovvero il numero di verifica), se 2 utenti si registrano e generano lo stesso codice di verifica per errore, è possibile che si desideri gestire tale caso. Se l'unicità conta, penso che neanche mt_rand() potrebbe non essere sufficiente. –
Penso che i codici di verifica verrebbero archiviati in un database: inserire una chiave univoca nella colonna e prima di inserire il codice di verifica, verificare se esiste già nel database e continuare a generare nuove chiavi finché non ne trovi una che non è mai stato usato in precedenza –