Jaki polecacie sposób szyfrowania haseł w bazie danych. Rozpatruję Blowfisha oraz SHA512. Wiem, że bwfish jest dwustronny, a SHA są jednostronne, ale jakie szyfrowanie (albo lepiej zabezpieczenie poufnych danych) proponujecie?
To w koncu szyfrowanie czy hashowanie?
Jezeli hashowanie to sha256 lub sha512
Wg mnie lepszym rozwiazaniem jest zahashowanie - po pierwsze niemożliwe jest praktycznie odszyfrowanie hasła, po drugie nie ma ryzyka, że ktoś pozna Twój klucz szyfrujący i po wykradzeniu bazy danych wykradnie też hasła a ponadto hashowanie jest szybsze.
jesli chodzi tylko o haslo to kwestie szybkosci mozna pominac, bo w koncu jak czesto weryfikuje sie haslo (chyba ze sesja jest wyjatkowo krotka)
czy szyfrowanie, czy funkcja skrotu zalezy od tego jaki rodzaj odzyskiwania hasla chcesz miec
- przypomina zapominane haslo - szyfrowanie
- zmienia haslo (na tymczasowe) - funkcja skrotu
jesli chodzi o klucz do funkcji skrotu to dlaczego uwazasz ze nie mozna go wykrasc? generalnie czesc serwerowa oprogramowania musi miec do niego dostep, przy algorytmach z kluczem asymetrycznym moznaby uznac ze masz wieksza gwarnacje, bo trudniej wykrasc oba klucze, lub ten drugi mozna duzo lepiej zabezpieczyc, ale to takie glupie gdybania
w jednym projekcie stosowalem generowanie co jakis czas nowego klucza dla funkcji skrotu, a logika kiedy ktory stosowac byla dosc pokretna, wiec nawet jesli ktos wykradlby baze i klucze, to jeszcze musialby wiedziec ktory kiedy (dla ktorego hasla) jest stosowany
Ostatecznie zdecydowałem się na SHA512, jako że do strony nie jest potrzebne zabezpieczenie jak w banku a hasło lepiej jest zrobić nowe niż wyłuskiwać stare.