Ich benutze Spring MVC und ich möchte das Passwort verschlüsseln, das in dB gespeichert wird, ich habe mir andere Threads angeschaut und sie schlagen vor, mit MD5 zu gehen. Ist es eine gute Übung, mit MD5 zu gehen, oder gibt es eine andere Methode, um dies zu erreichen?Passwortverschlüsselung im Frühling MVC
Antwort
Können Sie klären codieren, wenn Sie für Spring Security suchen oder Frühlings-MVC. Ihr Fragentitel ist "" Passwortverschlüsselung in "Spring MVC", während Sie die Frage für Spring Security getaggt haben.
Frühling Sicherheit schlägt folgende org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
Ich bin auf der Suche nach Passwort-Verschlüsselung in Spring Security – Ramanathan
Großartig, ich habe den entsprechenden Link von Frühjahr Referenzseiten geteilt. Wenn Sie Hilfe benötigen, fügen Sie einen Kommentar hinzu. – bhrt
Nein; Verwenden Sie BCrypt - verfügbar im Frühjahr mit BCryptPasswordEncoder
.
Verwenden Sie nicht MD5, das Problem mit MD5-Hashing ist, dass es relativ schnell zu tun ist und wenn jemand die Hashes erreicht, können sie es ziemlich leicht erzwingen. Es gibt auch Rainbow-Tabellen, die Listen von Passwörtern mit ihren zugehörigen MD5-Hashes sind.
Wie @ Jan Nielsen behauptet, ist BCrypt weit überlegen. Ich persönlich benutze PBKDF2. Beide Ansätze arbeiten mit einem zufälligen Salz, während sie den Hash generieren. In der Datenbank speichern Sie das Salz und das Hash-Passwort. Ich gehe gerne einen Schritt weiter und speichere auch die Anzahl der Iterationen, mit denen der Hash erstellt wurde.
Hier ist ein guter Blog zur Passwortverschlüsselung, der die Details mit Codebeispielen ausführlicher behandelt. https://crackstation.net/hashing-security.htm
Sie können BCryptPasswordEncoder
verwenden, um Ihr Kennwort zu codieren, um das zu tun, müssen Sie eine Bean dieser Klasse erstellen.
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
Und während der Registrierung Ihrer Benutzer (neuen Benutzer-Datenbank zu speichern), können Sie Auto Draht PasswordEncoder
und encode
Methode aufrufen Ihr Passwort
@Autowired PasswordEncoder passwordEncoder;
public User registerUser(User user){
// other logic
String encryptedPassword = passwordEncoder.encode(user.getPassword());
user.setPassword(encryptedPassword);
//logic to save the user to DB
}
Danke für Ihre Antwort, aber ich kann nicht verstehen, wenn ich Passwort auf diese Weise verschlüsselt, wie das Passwort übereinstimmen kann, wenn ich versuche, mich anzumelden? Denn wenn ich nicht falsch bin "BCryptPasswordEncoder" die ganze Zeit erzeugen unterschiedliche Wert. Wie ich neu zu Spring bin :) –
Wenn Sie versuchen, sich anzumelden und wenn Sie Passwort an Login-Methode als einfachen Text übergeben, dann Sie muss erneut die encode-Methode auf das Passwort Benutzer haben zur Verfügung gestellt während der Protokollierung und dann vergleichen –
- 1. NoClassDefFoundError im Frühling Mvc Formularhandler
- 2. QML Passwortverschlüsselung
- 3. Lebensdauer des Controllers im Frühling MVC
- 4. 406 Nicht akzeptabel im Frühling mvc
- 5. Multiple Select im Frühling 3.0 MVC
- 6. Nicht unterstützter Medientyp im Frühling MVC
- 7. Web.config Passwortverschlüsselung
- 8. Frühling mvc Ehcache Ausgabe
- 9. Frühling Mvc erholsamen Login
- 10. Frühling MVC Framework einfach?
- 11. Frühling 4 MVC + Sicherheitsproblem
- 12. Frühling mvc Mapping Probleme
- 13. frühling mvc vs. naht
- 14. Thymleaf überall Frühling mvc
- 15. Testing Frühling @MVC Anmerkungen
- 16. Frühling mvc Validierung Rest
- 17. Welche Passwortverschlüsselung verwendet Jenkins?
- 18. Welche Passwortverschlüsselung verwendet Hudson?
- 19. NodeJS - SHA256 Passwortverschlüsselung
- 20. Maven Passwortverschlüsselung BadPaddingException
- 21. SSHA Passwortverschlüsselung auf OpenLDAP
- 22. Dispatcher Servlet im Frühling Boot
- 23. Frühling 3.0 MVC mvc: View-Controller-Tag
- 24. Frühling @MVC und @RequestParam Validierung
- 25. junit testfall für frühling MVC
- 26. Wie protokolliert man Benutzername/Principal im Frühling MVC REST-Kanal?
- 27. Wie man Formularwerte zum Prüfer im Frühling erhält mvc
- 28. Wie man mit @Bean im Frühling MVC zu jdbc verbindet?
- 29. <form: select capture den code im frühling MVC 3.2.8
- 30. Schaltfläche "Zurück" zeigt vorherige Benutzeraktivität im Frühling an MVC
zu verwenden, wenn Sie mit feder Sicherheit können Sie Federsicherheitskennwort-Encoder verwenden und kann auch implementiert eigene –