Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Hashowanie hasła
adiif1
post 19.10.2017, 01:05:04
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 6.08.2013

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


Witajcie drodzy koledzy niestety mam problem jak podpiąć owego hash'a pod logowanie ;/ wyrywam już sobie włosy z głowy
w bazie oczywiście mam dobrze zahasowane hasło lecz cały czas pluje błędem że hasło jest nieprawidłowe

Edit: kod poniżej jest bez głupot z hashowaniem hasła
niezbyt ogarniam jak powinno wyglądać porównanie hasła jeżeli dobrze rozumiem

  1. if($senha == $pass) na
  2. if($senha == $hash)


  1. <?php
  2. $login = $_POST['login'];
  3. $senha = $_POST['senha'];
  4.  
  5. $select = mysql_query("SELECT * FROM accounts WHERE login = '". $login ."' AND password = '". $senha ."'");
  6. $cont = mysql_num_rows($select);
  7. $fetch = mysql_fetch_array($select);
  8. $pass = $fetch['password'];
  9.  
  10.  
  11. $iterations2 = "10000";
  12. $salt = 'at_least_16_byte' . $login;
  13. $hash = strtoupper(hash_pbkdf2("sha1", $senha, $salt, $iterations2));
  14.  
  15. if($cont == 0)
  16. {
  17. header("Location: /home/5");
  18. }
  19. else
  20. {
  21. if($senha == $pass)
  22. {
  23. $_SESSION['conectado'] = 1;
  24. $_SESSION['Conta_id'] = $fetch['id'];
  25. $_SESSION['Conta_Name'] = $fetch['Login'];
  26. header("Location: /home");
  27. }
  28. else
  29. {
  30. header("Location: /home/5");
  31. }
  32. }
  33. ?>


Ten post edytował adiif1 19.10.2017, 01:09:26
Go to the top of the page
+Quote Post
viking
post 19.10.2017, 05:39:44
Post #2





Grupa: Zarejestrowani
Postów: 6 376
Pomógł: 1116
Dołączył: 30.08.2006

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


http://php.net/manual/en/function.password-hash.php
http://php.net/manual/en/book.pdo.php

Nie porównuj hasha do gołego hasła.


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post 19.10.2017, 13:45:52
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


No i uzupełnieniem tego co podał @viking bo znając ludzi zaraz zaczną porównywać wygenerowany nowy hash z tym co jest w BD...

http://php.net/manual/en/function.password-verify.php
Go to the top of the page
+Quote Post
Niree
post 21.10.2017, 12:29:27
Post #4





Grupa: Zarejestrowani
Postów: 220
Pomógł: 18
Dołączył: 5.02.2016
Skąd: Polska

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


  1. $login = $_POST['login'];
  2. $senha = $_POST['senha'];
  3. $iterations2 = "10000";
  4. $salt = 'at_least_16_byte' . $login;
  5. $hash = strtoupper(hash_pbkdf2("sha1", $senha, $salt, $iterations2));
  6.  
  7. $select = mysql_query("SELECT * FROM accounts WHERE login = '". $login ."' AND password = '". $hash."'");
  8. $cont = mysql_num_rows($select);
  9. $fetch = mysql_fetch_array($select);
  10. $pass = $fetch['password'];
  11. ;


a niżej warunek powinien być:

  1. if($hash == $pass)
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 5.05.2025 - 07:48