Non solo non è sicuro, non funziona nemmeno.
mt_rand
accetta 2 parametri, un valore minimo e un valore massimo.
mt_rand('password', 15)
Questo trasforma 'password'
ad un int (0
), quindi restituisce un numero casuale tra 0
e 15
.
uniqid(mt_rand('password', 15), true)
Questo genera un ID univoco, e antepone il numero casuale dal passaggio precedente ad esso: calcolare qualcosa di simile:
144ffb22886d58e1.82100749
la stringa verrà poi md5'd.
Come si può vedere, questo codice è inutile al 100%. La password originale viene convertita in 0
e persa per sempre, quindi tutto quello che stai facendo è l'hashing di numeri casuali, che è inutile. Ora che hai il tuo hash, non c'è modo di verificarlo di nuovo. Poiché la password viene convertita, qualsiasi cosa entri dall'utente non ha importanza.
Quindi, no, questo codice non è sicuro, non usarlo.
Personalmente, io uso il phpass library. È sicuro e semplice da usare.
fonte
2012-07-09 18:29:46
Come fanno a verificare la password una volta eseguita l'hash?Anche 'mt_rand' prende come parametri, non stringhe. –
Ah, @Rocket che domanda ?? !!! – Engineer
Personalmente uso [phpass] (http://www.openwall.com/phpass/). –