Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] md5 - każdy plik ma inny HASH
Forum PHP.pl > Forum > Przedszkole
Earth
Mój problem jest związany z md5 - szyfrowaniem jedno kierunkowym. Mam 3 pliki:
login.php - służy do logowania, odczytuje HASH z bazy i porównuje go z wpisanym hasłem
record.php - służy do zapisywania, zapisuje HASH do bazy
remind_pass.php - do przywracanie hasła, zapisuje nowy HASH do bazy

Login i record współpracują ze sobą bez żadnych problemów. Natomiast remind_pass generuje wogule inny HASH niż record dla tych samych wartości. Nie wiem czym jest to spowodowane.


  1. <?php
  2. Kod jest poniżej.
  3. ?>
My4tic
Cytat(Earth @ 27.01.2007, 13:09:37 ) *
Login i record współpracują ze sobą bez żadnych problemów. Natomiast remind_pass generuje wogule inny HASH niż record dla tych samych wartości. Nie wiem czym jest to spowodowane.


Co w tym dziwnego? Tak ma być. Jeśli user zapomniał hasła to generowane jest nowe, haszowane i zapisywane do bazy. Jak sam napisałeś md5 jest 'jednokierunkowe' więc starego hasła w jawnej postaci nie można odzyskać dlatego tworzone jest nowe i wysyłane userowi na maila.

Poza tym pisze się - w ogóle.
Earth
No i jest problem w tym, że dla takich samych wartości w tych 2 plikach, HASH jest inny. Przynajmniej record współpracuje z login mają takie same HASH, a remin_pass już generuje inne HASH'a.
dr_bonzo
DRY -- Dont repeat yourself -- czyli musisz miec jedna funkcje generujaca hashe -- unikniesz takich bledow. I sprawdz jeszcze czy z dokladnie tej samej wartosci generujesz hashe.
Sebasu
spróbuj zmienić w remind_pass.php
  1. <?php
  2. echo "Twoje nowe hasło: <BR> $password <BR> Postaraj się jak najszybciej zmienić hasło!!!" ;
  3. ?>


na

echo "Twoje nowe hasło: <BR> ".strval($password)." <BR> Postaraj się jak najszybciej zmienić hasło!!!" ;

byc moze php źle wyświetla tak dużą liczbe wygenerowana przez mt_rand;]
Earth
Po wpisaniu ".strval($password)." udało się.

// Tak po za tematem nie wiem dlaczego, ale jak wsadzę funkcje do innego pliku. To szyfrowanie już nie działa. Do bazy zapisuje dane nie zaszyfrowane.
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.