Po której stronie lepiej szyfrować hasło, po stronie api czy frondend ? Aplikacja bedzie składać się z api (spring boot, spring security, jwt), aplikacji mobilnej i czy webowej. Czy jak pos stronie api uzywać password encodera ?
Hasła nie ma potrzeby szyfrować w ogóle. (a bcrypt nie jest algorytmem szyfrującym)
Jakieś artykuły na ten temat:
https://security.blogoverflow.com/2011/11/why-passwords-should-be-hashed/
Hasła nie ma potrzeby szyfrować w ogóle.
Dlaczego jesteś złośliwy? Bo to nie jest pierwszy post tego typu jaki u Ciebie widzę.
Jak już zwracasz uwagę na to, że użył złego słowa - szyfrowania
zamiast hashowania
to go popraw i wytłumacz co było błędne w jego pytaniu. Nie mówiąc tego zostawiasz taką osobę zdezorientowaną, która nie ma pojęcia o co chodzi...
Odnośnie pytania to hasło należy przesyłać za pomocą HTTPS
do serwera i tam hashować
.
Szyfrowanie
umożliwia odtworzenie pierwotnego tekstu, a hashowanie
to proces jednostronny, trudny do odtworzenia i hasła się właśnie hashuje
.
Hashując
po stronie klienta jesteś narażony na hash attack
, w skrócie atakujący może przechwycić hash
i zalogować się jako Ty. I też na kilka innych rzeczy. Poczytaj o tym.
Hashując
po stronie serwera masz nad tym pełną kontrolę, bo robisz to u "siebie".
Tutaj linki:
https://security.stackexchange.com/questions/110948/password-hashing-on-frontend-or-backend
https://stackoverflow.com/questions/37701116/sending-password-safely-from-the-front-end-to-the-back-end-using-md5