konto usunięte

Temat: Przypomnienie hasła na stronie

Witajcie,
Obecnie na emaila podanego przy rejestracji dostaję:

Hasło: 4a87616feb34b544e4cc583037360c75

W jaki sposób mogę odczytać hasło zakodowane md5 z bazy?

konto usunięte

Temat: Przypomnienie hasła na stronie

Zapuść sobie dekodera md5. Te działające przy użyciu GPU są szczególnie szybkie w działaniu.

Dopisano: MD5 to funkcja jednokierunkowa i jedyne co pozostaje to brute force.Paweł Łukasik edytował(a) ten post dnia 01.08.09 o godzinie 14:09

konto usunięte

Temat: Przypomnienie hasła na stronie

Paweł Łukasik:
Dopisano: MD5 to funkcja jednokierunkowa i jedyne co pozostaje to brute force.Paweł Łukasik edytował(a) ten post dnia 01.08.09 o godzinie 14:09

Aha to czyli w jaki sposób mam zapisywać hasła do bazy? Aby później użytkownik mógł dostać swoje hasło?
Marcin Tarapata

Marcin Tarapata Analityk/Tester

Temat: Przypomnienie hasła na stronie

MD5 szyfruje w jedną stronę nie ma możliwości odczytania takiego "hasła".

No oprócz metody słownikowej :) ale oczywiście nie jest w 100% skuteczna ;)
Aha to czyli w jaki sposób mam zapisywać hasła do bazy? Aby później użytkownik mógł dostać swoje hasło?

Musisz generować nowe hasło i tekst niezakodowany wysyłać do użytkownika, a md5 pchać do bazyMarcin Tarapata edytował(a) ten post dnia 01.08.09 o godzinie 14:13

Temat: Przypomnienie hasła na stronie

najpierw przy rejestracji szyfrujesz i zapisujesz zaszyfrowane w bazie danych, a pozniej jak uzytkownik sie loguje i poda swoje haslo, to znowu je szyfrujesz i porownujesz czy jest takie same jak w bazie.
Adam W.

Adam W. senior php
developer, Symfony

Temat: Przypomnienie hasła na stronie

Bartłomiej S.:
Paweł Łukasik:
Dopisano: MD5 to funkcja jednokierunkowa i jedyne co pozostaje to brute force.Paweł Łukasik edytował(a) ten post dnia 01.08.09 o godzinie 14:09

Aha to czyli w jaki sposób mam zapisywać hasła do bazy? Aby później użytkownik mógł dostać swoje hasło?

użytkownik nigdy nie powinien dostać swojego hasła. nigdzie w bazie ani w plikach czy gdziekolwiek indziej nie powinno być jawnie zapisane jego hasło. można tylko porównywać hasło które on wpisze z tym co jest zapisane w bazie korzystając z tego samego algorytmu (np. md5, sha1).
jak user zapomni hasła należy wygenerować mu nowe tymczasowe.
przy rejestracji, na maila raczej nie powinno się wysyłać hasła. a jeżeli już koniecznie chcesz to wyślij to co user poda w polu hasło - jeszcze przed zahashowaniem.
Piotr Szmielew

Piotr Szmielew Mentor Ruby on Rails

Temat: Przypomnienie hasła na stronie

idealne rozwiązanie:
- user zapomina hasła
- wypełnia formularz "zapomniałem hasła", podając adres email
- na maila przychodzi mu link, w którym zawarty jest unikalny token
- po kliknięciu na ten link, dostaje dopiero możliwość podania nowego hasła

a md5 nie jest idealnym algorytmem hashowania - lepiej jednak używać sha1 lub wyżej.

a co do wysyłania na maila po rejestracji odszyfrowanego hasła: *bardzo* tego nie lubię. zawsze mam wtedy jakieś takie dziwne uczucie, że albo ktoś to podejrzy, a może w ogóle moje hasło jest zapisywane w bazie w postaci niehashowanej?
Marcin Gościcki

Marcin Gościcki Front-end
webdeveloper

Temat: Przypomnienie hasła na stronie

http://www.freerainbowtables.com/ ;P
Marek Wywiał

Marek Wywiał Programista,
administrator,
instruktor

Temat: Przypomnienie hasła na stronie

Piotr Szmielew:
idealne rozwiązanie:
- user zapomina hasła
- wypełnia formularz "zapomniałem hasła", podając adres email
- na maila przychodzi mu link, w którym zawarty jest unikalny token
- po kliknięciu na ten link, dostaje dopiero możliwość podania nowego hasła

a md5 nie jest idealnym algorytmem hashowania - lepiej jednak używać sha1 lub wyżej.

a co do wysyłania na maila po rejestracji odszyfrowanego hasła: *bardzo* tego nie lubię. zawsze mam wtedy jakieś takie dziwne uczucie, że albo ktoś to podejrzy, a może w ogóle moje hasło jest zapisywane w bazie w postaci niehashowanej?


Jestem za. Ewentualnie jeśli pierwsze hasło (np wygenerowane) przychodzi na mail, to po zalogowaniu aplikacja powinna wymusić zmianę hasła na użytkowniku.

konto usunięte

Temat: Przypomnienie hasła na stronie

Racja, takie będzie najlepsze rozwiązanie z nowym hasłem. Dzięki!
Paweł S.

Paweł S. IT & Marketing
Specialist

Temat: Przypomnienie hasła na stronie

Piotr Szmielew:
a md5 nie jest idealnym algorytmem hashowania - lepiej jednak używać sha1 lub wyżej.
Zgadza się, ale można dodać tzw. soli, albo używać podwójnego hashowania, a najlepiej tego i tego, dzięki czemu będzie zdecydowanie bezpieczniej, zwłaszcza, że przy obecnie ogólnodostępnych bazach danych ze zbiorem hashów rozszyfrowanie takiego hasła do 8-9 znaków w samym md5 nie będzie stanowić żadnego problemu.

Wspomniana baza md5: http://md5.rednoize.comPaweł S. edytował(a) ten post dnia 09.08.09 o godzinie 20:37

konto usunięte

Temat: Przypomnienie hasła na stronie

A najlepiej to użyć 256-bitowego AES. :P
Piotr Szmielew

Piotr Szmielew Mentor Ruby on Rails

Temat: Przypomnienie hasła na stronie

Kamil Kuźmiński:
A najlepiej to użyć 256-bitowego AES. :P
AES jest algorytmem szyfrującym, nie hashującym - wobec czego nie nadaje się do tego zastosowania.

Jeśli kto jest paranoikiem - to rozwiązanie takie jak proponuje Paweł - podwójnie hashowane SHA512 z saltem.

konto usunięte

Temat: Przypomnienie hasła na stronie

Piotr Szmielew:
Kamil Kuźmiński:
A najlepiej to użyć 256-bitowego AES. :P
AES jest algorytmem szyfrującym, nie hashującym - wobec czego nie nadaje się do tego zastosowania.
Nie nadaje się do trzymania haseł? W tym sensie :)
Piotr Szmielew

Piotr Szmielew Mentor Ruby on Rails

Temat: Przypomnienie hasła na stronie

Kamil Kuźmiński:
Piotr Szmielew:
Kamil Kuźmiński:
A najlepiej to użyć 256-bitowego AES. :P
AES jest algorytmem szyfrującym, nie hashującym - wobec czego nie nadaje się do tego zastosowania.
Nie nadaje się do trzymania haseł? W tym sensie :)

zależy jak zdefiniujesz trzymanie haseł.
jeśli rozmawiamy w kontekście takim jak wcześniej (serwis www, logowanie do konta użytkownika etc), to podczas zapisywania ich w bazie podstawową ideą jest to, że *nikt* (nawet, a zwłaszcza admin :P) nie może ich odczytać. jedyną operacją jaka powinna być wykonalna to sprawdzenie czy podane hasło, zgadza się z zapisanym w bazie. co doskonale spełnia algorytm haszujący - generuje (prawie - pomijamy kolizje) unikalny i powtarzalny ciąg znaków, z którego nie da się odtworzyć wejściowej sekwencji znaków.

jeśli chciałbyś robić program do przechowywania haseł na desktopie - wtedy możesz je szyfrować AES, czy dowolnym algorytmem szyfrującym (dwustronnym).Piotr Szmielew edytował(a) ten post dnia 09.08.09 o godzinie 23:03

konto usunięte

Temat: Przypomnienie hasła na stronie

moim zdaniem dobry algorytm przy odzyskiwaniu hasla to:

1) user klika przypomnij haslo
2) podaje maila
3) na maila wysylasz wygenerowane link do przypomnij z ticketem dla usera
4) po kliknieciu pokazuje sie formularz do nowego hasła

a przechowywaniem haseł popisało się ostatnio nawet allegro, więc jak widać - hashowanie to tylko teoretyczna norma :)
Adam W.

Adam W. senior php
developer, Symfony

Temat: Przypomnienie hasła na stronie

Grzegorz Kaszuba:
moim zdaniem dobry algorytm przy odzyskiwaniu hasla to:

1) user klika przypomnij haslo
2) podaje maila
3) na maila wysylasz wygenerowane link do przypomnij z ticketem dla usera
4) po kliknieciu pokazuje sie formularz do nowego hasła

a przechowywaniem haseł popisało się ostatnio nawet allegro, więc jak widać - hashowanie to tylko teoretyczna norma :)

zdążyłem się przekonać, że sporo słabych programerów nieodpowiedzialnych zapisuje hasła w postaci jawnej w bazie.
przykre zjawisko, nie wiem czym ci ludzie się kierują.

konto usunięte

Temat: Przypomnienie hasła na stronie

mysle, ze to nie jest umyslnosc (choc i tego nie mozna wykluczyc), raczej brak wiedzy na ten temat tego, co jest obecnie "normą" (np. hashowanie haseł).

Przyznaje, ze sam mam z tym problemy (ot chocby moje wynurzenie z przed paru dni w stylu czy target na iframe'a to juz ajax ;)), ale chyba na tym polega rozwoj, ze trzeba sie pare razy potknać i milion razy wynaleźć koło na nowo.

co do samego hashowania to temat tez nie jest prosty, zlamanie czyjegos hasla w md5 zajelo mi kilkanascie godzin pare lat temu, dzis to juz nie do pomyslenia podobno robic sam hash :) warto dlatego np. dorabiać do niego ziarno czy seed'a, nie wierze juz nawet w magic word, robie seed z time() za kazdym razem i poki ktos calej tablicy nie przejmie, jest ok :)Grzegorz Kaszuba edytował(a) ten post dnia 10.08.09 o godzinie 22:15

konto usunięte

Temat: Przypomnienie hasła na stronie

<?php
/**
* często, jeśli jesteśmy jedynymi adminami serwisu
* (i mamy stały numer ip) to wystarczy takie
* zabezpieczenie tylko dla jednego IP
*/

return md5($salt . $password . $_SERVER['REMOTE_ADDR']);
?>

konto usunięte

Temat: Przypomnienie hasła na stronie

ale wiesz, ze przy probie łamania ktos poprostu zamiast tego poda IP? :)



Wyślij zaproszenie do