ďťż

[PHP] [MySQL] Password w bazie danych!

       

Podstrony


telcocafe

Otóż stworzyłem panel administracyjny, który ma zarządzać treścią całej strony. Stworzyłem formularz logowanie gdzie hasła i loginy dla uzytkowników są w bazie danych. Stowrzyłem kolumne o nazwie 'haslo'. Typ danych w tej kolumnie to VARCHAR oraz taki dodatkowy typ PASSWORD. Zamienia to haslo na postac innych literek i cyfr. Jak to odkodować potem w php?!



daj normalnie w bazie mysql pole no np. pass (od password)o typie varchar(32)...

przy rejestrowaniu użytkowników, przed zapisaniem hasła do bazy danych użyj $_POST['zmienna_z_haslem'] = md5($_POST['zmienna_z_haslem']);

a przy logowaniu nic nie trzeba odkodowywać tylko zamieniasz znowu:
$_POST['zmienna_z_haslem'] = md5($_POST['zmienna_z_haslem']);

Wielkie THX!

nie ma za co B)

poza tym, ta metoda jest bezpieczna, bo chcoiażby wczoraj z nudów przeszukałem sobie dużo plików sql jako kopie i tam było wiele nie zakodowanych haseł i mogłem to wykorzystać (oczywiście nie zrobiłem tego, bo I'm good hacker! :P ), więc jak ktoś nawet pozyska ten zakodowany ciąg znaków, to będzie się musiał nieźle napocić, żeby to odkodować... jeżeli w ogole mu sie to uda :lol:



generalnie md5 jest nieodwracalne. jedyne co można robić to brute force generować po kolei wszystkie znaki i sprawdzać czy zakodowane będzie wyglądało tak jak to do czwego porównujemy. ale z md5 wiąże się problem niemożliwości odzyskania hasła :(

95% haseł zapisanych można odkodować, ponieważ hasła są słownikowe i nie zawierają żadnych znaków specjalnych, czyli takich, których nie da się wbić na klawiaturze (np. możesz zastosować ASCI, jeżeli można lub np. ja stosuje gdzie niegdzie niemieckie znaczki... :) )

jeżeli boisz sie md5 że nie odzyskasz hasła to najlepiej
użyj eregi_replace zamieć np A na jakiś długi ciąg i zapisz w bazie jeżeli ktoś bedzie chciał odzysakć hasło wyślesz mu je uwcześniej odkodowywując odwrócona funkcją :)

A nie lepiej jednak używać md5? Przecież gdy user zapomni hasła może je np. zresetować i nowo wygenerowane hasło wysłać na podany przez usera mail.

prawdę rzeczesz tak tyż można wybór zależy raczej od gustu
chociaż metoda z md5 jest bezpieczniejsza

Ja wiem, czy md5 takie bezpieczne, podobno złamano jego uproszczoną wersje juz w pół godziny...

Według mnie z md5 będzie tak samo jak z DESem. 20 lat temu uważano, że jest nie do złamania, a teraz złamanie go w 24 godziny jest w zasięgu niewielkiej firmy.

sugeruję zajrzeć na http://forum.jmail.kicks-ass.org wiem że prawie tam nic nie ma :D ale możecie to zmienić :D

ale dlaczego to sugeruję? bo w dziale serverside napisałem jak rozwiązać Twój problem :D przeczytaj jakby były wątpliwości to pytaj :) przy mojej podpowiedzi szyfrowanie jest obojętne bo i tak wszystkie porównania wykonuje serwer DB :)

a ja gorąco, ale to bardzo gorąco polecam funkcje:
md5(crypt($password));

powinno działać :)

dajcie sobie dla spróbowania:
<?=md5(crypt(1234567890));?>
i powciskajcie sobie kilka razy F5, a zobaczycie dlaczego polecam tę metodę ;)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.