Przechowywanie hasła w bazie MySQL z haszowaniem plus późniejsza autoryzacja klienta

0

Cześć,

Mam takie zagadnienie:
Tworze system rejestracji i logowania. Chcę przechowywać hasło w bazie danych ale w postaci zahaszowanej. Korzystam z bazy danych mySQL.

Czy posiadacie przykłady implementacji haszowania i późniejszego odczytywania hasła w celu autoryzacji klienta?
Podobno dobre jest SHA-2. W tym przypadku wiem jak zakodować hasło ale nie wiem jak je później odkodować.
Czy sa może proste rozwiązania które korzystają z funkcji wbudowanych w bazę danych ?

1

SHA to hashowanie czyli funkcja jednokierunkowa. Nigdy się jej nie "odkodowuje". Po prostu wczytujesz hasło od użytkownika, hashujesz je i porównujesz z hashem w bazie.

0

Tylko ostrożnie z tymi SHA, czy md5 itd. Można przez nie przelecieć brute force'em, jeśli się ktoś uprze. Najlepiej poszukać jakichś bardziej natywnych algorytmów szyfrujących.

0

SHA to nie szyfrowanie tylko funkcja skrótu, a jak dodasz losową sól do każdego hasła to chciałbym zobaczyć tego twojego brute force ;]

0

a jak dodasz losową sól

To inna sprawa.

0

@pavon147 No a kto hashowałby bez soli? Przecież takie coś pada na pierwszej lepszej tablicy tęczowej :D

1

@Wizzie

Hasła hashowane były algorytmem SHA-256, bez soli

Oficjalne stanowisko w sprawie włamania na serwer ;)

0

Dzięki :) poczytałem i już ogarniam.

1

Możesz skorzystać z BCrypta, ma wbudowane solenie i aktualnie jest polecanym standardem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1