kornel
4.09.2002, 20:33:00
Zupgradeowałem sobie php z 4.0.6 na 4.1.2. Wszystko było cool
tylko funkcja crypt() zwraca mi coś zupełnie innego niż poprzednio i cały system logowania szlag trafił. :cry: :cry:
Oto efekty zacryptowania tego samego słowa:
- kiedyś - Zv65W3zWpbzvM
- teraz - $1$Dbh.9Nx1$pJIEM3WFieOlbMq.OnKdo.
:?: Czy jest sposób by to działało po staremu?
ajtuj
4.09.2002, 22:21:37
Musialbys znac tzw. salt ktory byl uzywany przez poprzednia wersje php - jednakze prawdopodobnie nie podales tego parametru w poprzedniej wersji i php sam sobie go wygenerowal - a tu juz problem. Tak samo w nowej wersji - php samo wygenerowalo sobie salt.
BTW nowe php szyfruje MD5 a stare najprawdopodobniej DES'em.
kornel
4.09.2002, 23:17:31
Rzeczywiście masz 100% racji - w starszej wersji salt musiał być automatycznie robiony z 2 pierwszych znaków cryptowanego tekstu, a teraz to sie zmieniło.
Zrobiłem tak, że zamieniłem stare:
$password=crypt($tekst);
na
$password=crypt($tekst,substr($tekst,0,2));
I to jest to!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.