Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Dziwny problem z hash()
neosatan
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 2
Dołączył: 29.04.2009
Skąd: wrocław

Ostrzeżenie: (0%)
-----


Hejka,
Mam ciekawy problem z funkcją hashującą w php.
  1. private function hash($username, $salt, $password)
  2. {
  3. return hash('sha512', $salt.$username.$password);
  4. }
  5. function checkValidUsernamePassword($username, $password)
  6. {
  7. $this->startDatabase();
  8. $sql = "select nazwa, salt, hash from users where nazwa ='$username' limit 1";
  9. $result = mysql_query($sql);
  10. if(mysql_num_rows($result) == 1)
  11. {
  12. $record = mysql_fetch_assoc($result);
  13. $hash = $this->hash($username, $record['salt'], $password);
  14. echo $hash.'<br/>';
  15. echo $record['hash'].'<br/>';
  16. echo strlen($hash).'<br/>';
  17. echo strlen($record['hash']);
  18. if($hash == $record['hash'])
  19. return true;
  20. else
  21. return false;
  22. }
  23. else
  24. return false;
  25.  
  26. }

i output
  1. 678e3130227fedc39757785a044202fc6c6c072f46c98c37b4c628da7b98c092674a534ff1c49909
    c6800265705ee098b9e38f30198dba6e0ad8b0113d8d0ba0
  2. 734a8cb77a6f469e933857637600e29749d4be75112711f89d78b3bf462f7b664b7b1bef511370c8
    79c84145bb2795d6da4810de5de852ccdc6456753de127ad
  3. 128
  4. 128


jak można się szybko domyślić hash się nie pokrywa, a co za tym idzie nie mogę przeprowadzić autoryzacji użytkownika.
Pierwszy raz spotkałem się z czymś takim. Jak ktoś może mi podsunąć pomysł jaki jest powód różnego hashowania tych samych stringów (lub może gdzieś po drodze stringi są zmieniane, a ja nie wiem o tym :?), to będę bardzo szczęśliwy.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.09.2025 - 18:38