java / beginner
Snippet
Benutzerpasswörter mit BCryptPasswordEncoder hashen
Das Speichern von Passwörtern im Klartext stellt ein schweres Sicherheitsrisiko dar. Spring Security stellt BCryptPasswordEncoder bereit, um Passwörter mit automatischem Salting sicher zu hashen. Die Methode encode() wandelt Klartext in einen sicheren Hash um, während matches() Benutzereingaben gegen gespeicherte Hashes prüft, ohne diese zu entschlüsseln.
snippet.java
java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;import org.springframework.stereotype.Service;@Servicepublic class UserService {private final BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();public String registerUser(String rawPassword) {return passwordEncoder.encode(rawPassword);}public boolean verifyPassword(String rawPassword, String encodedPassword) {return passwordEncoder.matches(rawPassword, encodedPassword);}}
spring
Erklärung
1
private final BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
Erzeugt eine Instanz des BCrypt-Encoders zum Hashen und Verifizieren von Passwörtern.
2
return passwordEncoder.encode(rawPassword);
Hasht das Klartext-Passwort unter Verwendung des BCrypt-Algorithmus mit einem zufälligen Salt.
3
return passwordEncoder.matches(rawPassword, encodedPassword);
Überprüft, ob das eingegebene Klartext-Passwort mit dem gespeicherten Hash übereinstimmt.