PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jaki jest zalecany sposób szyfrowania haseł użytkowników w bazie danych?

Nie używaj SHA1 ani SHA256 , jak sugeruje większość innych osób. Zdecydowanie nie używaj MD5 .

SHA1/256 i MD5 zostały zaprojektowane do tworzenia sum kontrolnych plików i ciągów (i innych typów danych, jeśli to konieczne). Z tego powodu zostały zaprojektowane tak, aby działały tak szybko, jak to możliwe, aby suma kontrolna była szybko generowana.

Ta duża prędkość znacznie ułatwia bruteforce haseł, ponieważ dobrze napisany program może z łatwością generować tysiące skrótów na sekundę.

Zamiast tego użyj powolnego algorytmu zaprojektowanego specjalnie dla haseł. Ich generowanie zajmuje trochę więcej czasu, a zaletą jest to, że ataki bruteforce stają się znacznie trudniejsze. Z tego powodu hasła będą znacznie bezpieczniejsze.

Nie doświadczysz żadnych znaczących spadków wydajności, jeśli patrzysz tylko na szyfrowanie pojedynczych haseł pojedynczo, co jest normalną implementacją przechowywania i sprawdzania haseł. Prawdziwa różnica jest tylko hurtowa.

Osobiście lubię bcrypt. Powinna być dostępna jego wersja w Perlu, ponieważ szybkie wyszukiwanie w Google dało kilka możliwych dopasowań.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dostrajanie wydajności Postgresql i wykorzystania pamięci w przepływie pracy w Pythonie

  2. W Postgresql, jak zamawiać według daty, zachowując niestandardowy format daty

  3. Zapytanie złożone OR SQL (zapytanie nr 1 z opcją Z) i (zapytanie nr 2) z wyjątkami LICZBA()

  4. Używasz Dockera do uruchamiania aplikacji internetowej, nie możesz połączyć się z Postgresql DB?

  5. Jak dokładnie działa funkcja round w postgresql?