Nie tylko nie jest to bezpieczne, ale nawet nie działa.
mt_rand
przyjmuje 2 parametry, wartość minimalną i wartość maksymalną.
mt_rand('password', 15)
Przekształca 'password'
do int (0
), a następnie powraca do liczby losowej o wartości pomiędzy 0
i 15
.
uniqid(mt_rand('password', 15), true)
ten następnie generuje unikalny identyfikator, a poprzedza liczbę losową z poprzedniego etapu do niego: obliczenia coś takiego:
144ffb22886d58e1.82100749
To ciąg jest następnie md5'd.
Jak możesz być w stanie zobaczyć, ten kod jest w 100% bezużyteczny. Oryginalne hasło jest konwertowane na 0
i utracone na zawsze, więc wszystko, co robisz, to mieszanie liczb losowych, co jest bezcelowe. Teraz, gdy masz hasz, nie ma możliwości jego ponownego zweryfikowania. Ponieważ hasło jest konwertowane, cokolwiek użytkownik wprowadzi, nie ma znaczenia.
Tak, nie, ten kod nie jest bezpieczny, nie używaj go.
Osobiście używam phpass library. Jest bezpieczny i prosty w użyciu.
W jaki sposób weryfikują hasło po haszowaniu?Również 'mt_rand' przyjmuje ints jako swoje parametry, a nie łańcuchy. –
Ah, @Rocket co za pytanie? !!! – Engineer
Osobiście używam [phpass] (http://www.openwall.com/phpass/). –