Junior — Middle
W jaki sposób zaimplementowano schemat szyfrowania danych w Spring Security?
sobes.tech AI
Odpowiedź od AI
W Spring Security szyfrowanie danych, takich jak hasła, jest realizowane za pomocą interfejsu PasswordEncoder. Udostępnia on metody do haszowania i sprawdzania haseł.
Najczęściej używany jest BCryptPasswordEncoder, który stosuje algorytm BCrypt — adaptacyjny hash z solą, chroniący przed atakami brute-force i tabelami tęczowymi.
Przykład użycia:
PasswordEncoder encoder = new BCryptPasswordEncoder();
String rawPassword = "password123";
String encodedPassword = encoder.encode(rawPassword);
// Sprawdzanie hasła
boolean matches = encoder.matches(rawPassword, encodedPassword);
W ten sposób Spring Security nie przechowuje haseł w formie jawnej, lecz ich hashów, co zwiększa bezpieczeństwo aplikacji.