Hej. Takie pytanko - mam uzytkownikow w tabeli w bazie, i tam sa trzymane tez hasla. Poki co sa to hasze (aktualnie md5, ale moze powinienem uzywac SHA-512?), i gdy uzser sie loguje, licze hash z hasla ktore wklepie, i je porownuje - standard.
Chcialem jednak dodac salt aby bylo bezpieczniej, w celu np uniemizliwienia zlamania hasla z rainbow tables. I teraz mam kilka pytan:
- rozumiem ze salt jest losowy, generowany dla usera w czasie rejestracji / tworzenia wpisu w bazie danych?
- salt jest dodawany przed / po wlasciwym hasle? (czy przed / po ma jakiekolwiek znaczenie?) a moze dzielic haslo na pol i tam wstawiac? czy nie trzeba tak kombinowac? (tak tak wiem ze hasla moga miec nieparzysta liczbe znakow ale to latwo obejsc zaokraglajac pass.length / 2 w dol)
- zakladam ze salt jest losowy (patrz pytanie 1) - musi byc gdzies zapisany aby system identyfikacji umial poprawnie zlozyc haslo i salt w celu weryfikacji; czy salt moze byc skladowany w tej samej tabelce, w jakiejs specjalnej kolumnie? czy to ma sens z punktu widzenia bezpieczenstwa?
Pozdrawiam.