/ / Czy zaszyfrowanie nazwy użytkownika w pliku cookie jest wystarczająco bezpieczne dla trwałego mechanizmu logowania? - php, hash, nazwa użytkownika

Czy mieszanie nazwy użytkownika w pliku cookie jest wystarczająco bezpieczne dla trwałego mechanizmu logowania? - php, hash, nazwa użytkownika

Chcę zaszyfrować nazwę użytkownika, aby użyć jej w funkcji setcookie (do ustawienia trwałego mechanizmu logowania).

Czy wystarczy zaszyfrować nazwę użytkownika za pomocą sha1, czy myślisz, że powinienem skorzystać z bardziej zaawansowanych rozwiązań?

Słyszałem o PHPpass, ale myślę, że jest to zalecane tylko dla haseł, ponieważ jest to coś bardziej zaawansowanego.

Co myślisz?

Odpowiedzi:

1 dla odpowiedzi № 1

Myślę, że sha1 powinno wystarczyć. Po prostu dodaj lub dołącz jakiś ciąg do nazwy użytkownika i wykonaj haszowanie sha1. To zadziała.


1 dla odpowiedzi nr 2

Stałe logowanie nigdy nie powinno opierać się na informacjach, które osoba atakująca może znać.

Jeśli musisz używać stałego logowania, musisz to zrobićutwórz unikalną, kryptograficznie losową wartość do przypisania do tego pliku cookie i utwórz pasujący rekord w bazie danych do sprawdzenia. Jeśli pracujesz w systemie operacyjnym opartym na Uniksie, / dev / urandom powinno świetnie działać jako źródło. Jeśli absolutnie nie możesz znaleźć dobrego źródła prawdziwie losowych danych, wystarczy użyć unikalnej funkcji PHP.

Prawdopodobnie dobrym pomysłem byłoby wygenerowanie nowego trwałego tokena przy każdej pierwszej wizycie, aby zapobiec półtrwałej fiksacji ze strony atakującego.