• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Hasło z md5 ktoś pomoże?

Aruba Cloud - Virtual Private Server VPS
0 głosów
1,203 wizyt
pytanie zadane 5 czerwca 2015 w PHP przez intoksynator Gaduła (3,450 p.)
zamknięte 5 czerwca 2015 przez efiku
Witam!

Panowie i Panie takie pytanie odnośnie hasła z md5. Gdyż po dodaniu takiej linijki robi mi sie md5 w localhoscie pokazuje zaszyfrowane znaki ale takie właśnie znaki wtedy są brane pod uwagę logowania, a chciałbym żeby były takie jak podał użytkownik po zarejestrowaniu a nie żeby hasłem był ten szyfr znaków. Jak to zrobić? Bo dodałem tylko takie coś w tym pliku action ,który jest przetwarzany przez formularz

$form_pass = md5($form_pass);
  
  
  $dopisanie = "insert into
  uzytkownicy(user,pass , email)
  values (\"$form_user\", \"$form_pass\",
  \"$form_email\")";
komentarz zamknięcia: Problem rozwiązany. PS: Czytajcie to co @Comandeer napisał, a nauczycie się dobrych praktyk.

3 odpowiedzi

0 głosów
odpowiedź 5 czerwca 2015 przez ArturB Mądrala (6,060 p.)
wybrane 5 czerwca 2015 przez intoksynator
 
Najlepsza
jak użytkownik się loguje i podaje hasło to podaje normalnie, ale po kliknięciu zaloguj to hasło od użytkownika również zaszyfruj w ten sam sposób co przy rejestracji i wtedy porównujesz czy ten ciąg co podał użytkownik po przepuszczeniu przez md5 jest taki sam jak w bazie.
komentarz 5 czerwca 2015 przez intoksynator Gaduła (3,450 p.)
To co muszę dodać coś w tym polu gdzie jest formularz?

 

Dodaje ten sam $form_pass = md5($form_pass);  ale wyskakuje mi błąd, chcę zeby było to md5 bo mam to na zaliczenie, a jedynie mi hashuje w phpmyadmin a uzytkownik nie ma takiego hasla jakie sobie zarzyczył

 

pomoże ktoś
komentarz 5 czerwca 2015 przez Pinio Gaduła (3,520 p.)
niestety mazowsze...
komentarz 5 czerwca 2015 przez ArturB Mądrala (6,060 p.)
masz formularz do logowania tak?

jak tak to tam użytkownik podaje takie samo hasło jak podał przy rejestracji (nie to z md5 tylko to zwykłe) przypisujesz to hasło co podał użytkownik do zmiennej i tą zmienną przepuszczasz przez md5 czyli masz już taki sam ciąg znaków jak w bazie i teraz możesz sprawdzić czy użytkownik podał to samo hasło bo tak jak napisał  Comandeer  md5 za każdym razem tak samo zamienia dany wyraz.
komentarz 5 czerwca 2015 przez intoksynator Gaduła (3,450 p.)
mam

 

dzieki
+5 głosów
odpowiedź 5 czerwca 2015 przez Comandeer Guru (606,550 p.)

MD5 się nie używa, bo łamanie go to obecnie umiejętność skopiowania i wklejenia hasha w Google (patrz: tęczowe tablice). Do obsługi haseł od PHP 5.5 używa się password_hash + password_verify a we wcześniejszych https://github.com/ircmaxell/password_compat

Ty jako admin NIE MASZ PRAWA znać hasła usera. Dlatego w bazie trzymasz hash. Trick polega na tym, że ten sam wyraz zahashowany tym samym algorytmem zawsze zwróci ten sam wynik. Stąd można się logować: user podaje hasło, Ty je hashujesz i porównujesz z hashem, który jest w bazie. Nie ma potrzeby posiadania gdziekolwiek hasła czystym tekstem. A jeśli nie ma potrzeby to… nie ma potrzeby ;)

komentarz 1 stycznia 2016 przez bartek7910 Obywatel (1,980 p.)

Witam.

A co w przypadku gdy w bazie mamy już hasła zabezpieczone md5 i chcemy przejść na password_hash? Czy w ogóle taka zamiana jest możliwa? Czy trzeba napisać kod, który w przypadku braku powodzenia zalogowania przy użyciu password_hash, zaloguje z md5, ale wymusi na użytkowniku ustawienie nowego hasła, które już zabezpieczymy po nowemu?

Pozdrawiam

komentarz 1 stycznia 2016 przez Comandeer Guru (606,550 p.)

Sam sobie odpowiedziałeś – dokładnie taki kod trzeba napisać ;) A jak już się przejdzie na password_hash, to tego typu zmiany będzie się załatwiać przy pomocy password_needs_rehash.

komentarz 1 stycznia 2016 przez bartek7910 Obywatel (1,980 p.)
Czyli ta funkcja służy do zamiany starego hasła na nowe tak? A w zasadzie sprawdzenia czy hasło jest zakodowane po staremu, czy nowemu. Jak stare to można okodować zmianę hasła na nowe bez ingerencji, a nawet wiedzy użytkownika. Czy dobrze to zrozumiałem?
komentarz 1 stycznia 2016 przez Comandeer Guru (606,550 p.)
Tak, ale dla md5 raczej nie zadziała.
0 głosów
odpowiedź 5 czerwca 2015 przez Pinio Gaduła (3,520 p.)
czy nie bezpieczniej jest wysyłać juz zaszyfrowane hasło?
komentarz 5 czerwca 2015 przez intoksynator Gaduła (3,450 p.)
No pewnie jest.

Czyli ta linijke gdzie dodać , poniżej insert into i już będzie działało ?
komentarz 5 czerwca 2015 przez Comandeer Guru (606,550 p.)

Ale w gruncie rzeczy po co by ona była po insercie? Wówczas w sumie hashowałbyś sobie hasło dla zabawy, a w bazie i tak siedziałoby jawne.

Chodzi o to, żeby w bazie był hash, a Ty generowałbyś dla hasła podanego przez usera hasha w czasie logowania (albo po prostu używał password_verify)

Podobne pytania

0 głosów
0 odpowiedzi 168 wizyt
pytanie zadane 19 listopada 2018 w Inne języki przez ArturoS159 Początkujący (440 p.)
0 głosów
1 odpowiedź 525 wizyt
pytanie zadane 17 listopada 2020 w C i C++ przez Marak123 Stary wyjadacz (11,190 p.)
0 głosów
0 odpowiedzi 223 wizyt
pytanie zadane 13 lipca 2017 w Systemy operacyjne, programy przez pako Nowicjusz (140 p.)

93,331 zapytań

142,323 odpowiedzi

322,400 komentarzy

62,666 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...