Piszę bo jestem ciekaw jak inni rozwiązują takie problemy. Czym hashować i jaki jest tego sens? Hashowanie polega na mieszaniu ciągu znaków (tak w skrócie) i wyplucie ciągu znaków, o stałej długości (w zależności od algorytmu), będącego podpisem danego ciągu znaków. Wiadomo, że przy hashowaniu plików jest to nieocenione (można tak stwierdzić, czy plik jest oryginałem i pozostał niezmieniony). Jak wygląda sprawa z przechowywaniem haseł i nazw użytkownika? Hashuje się by ochronić tajność hasła. Nawet gdy ktoś włamie się do bazy danych to dostaje hash, który niekoniecznie może (a nawet nie powinien) pomóc do podszycia się pod użytkownika. Osobiście zazwyczaj traktowałem temat lekko, ale chciałbym teraz przyjrzeć się bardziej sposobom zabezpieczania danych. Więc czym hashować (md5, sha1, sha512, lub inne)? Co przechowywać w bazie danych? Salty o jakiej długości? Krótkie czy długie? I czy są bezpieczniejsze metody przechowywania danych użytkowników?
Osobiście używam sha512, salt o długości 20 znaków i zdecydowanie za dużo danych w bazie danych przechowuje.