Spring | Wie ist zu codieren, login-Passwort vor dem senden zum server
Bin ich mit spring security für meine web-Anwendung.
Ich möchte Passwort Kodieren text vor dem senden zum server.
Hier unten ist mein code:
spring-security.xml
<!-- AUTHENTICATION MANAGER -->
<authentication-manager alias="authenticationManager">
<!-- AUTHENTICATION PROVIDERS -->
<!-- Remember-Me Authentication Provider -->
<authentication-provider ref="rememberMeAuthenticationProvider"></authentication-provider>
<!--
Authentication Provider to make use of spring security provided Jdbc
user management service
-->
<authentication-provider user-service-ref="jdbcUserService">
<!--SHA-1 Password Encoding scheme to secure user credential-->
<password-encoder ref="sha2PasswordEncoder" />
</authentication-provider>
</authentication-manager>
<!-- SHA-1 Password Encoder -->
<bean id="sha2PasswordEncoder"
class="org.springframework.security.authentication.encoding.ShaPasswordEncoder">
<constructor-arg value="256" />
</bean>
Sogar nach der Verwendung dieses, ich bin immer Passwort in Klartext-form auf server-Seite
Ich will ein Kennwort in verschlüsselter form an den server-Seite mit spring security.
Habe ich gespeicherte Passwort in der Datenbank in verschlüsselter form.
Ich bin Anfänger auf den Frühling, So kann diese Frage einfach ist und ich bin fehlen einige grundlegende Sache.Jede Referenz-Implementierung hilfreich sein.
Vielen Dank im Voraus.
- Durch die server-Seite du meinst, 1) Vom browser zum server oder 2) Von der Anfrage bis zur UserDetailService etc?
- Es ist von browser zu server, so dass Sie nicht gehackt werden durch eine gerade, die durch snooping Anfrage
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen verschlüsseln des Kennworts im browser mit so etwas wie http://www.webtoolkit.info/javascript-sha256.html
Aber tun, stellen Sie sicher, dass Sie irgendeine Art von Salz auf der Basis der Benutzer (die Sie abrufen können unter Verwendung von AJAX) für das Hashen des Passworts.
Siehe letzten Absatz auf http://www.plynt.com/blog/2006/06/sending-salted-hashes-just-got/ sehen, die mögliche Ansätze.
PS: Wenn du nicht mit TLS/SSL, selbst tut dies nicht Sinn machen, und wenn man schon mit diesem, ich denke, es ist nicht notwendig, im bemühen, für diese, es sei denn, Ihre Anwendung erfordert fast schon zynisch Ebene der Sicherheit.
Ref : https://softwareengineering.stackexchange.com/a/76947
https://stackoverflow.com/a/3391275/876142
Dies ist, wie die Feder funktioniert - form überträgt das Passwort im Klartext im backend, aber das ist POST-in HTTPS - wie hacker hack password?
(Später Frühling verschlüsselt das Passwort und vergleicht mit der DB, wo das Passwort ist auch verschlüsselt)
Was sollten Sie wirklich suchen mit der URL, die das login-Formular vorgelegt wird, unter HTTPS. Fast alle anderen Systeme, die Sie mit oben kommen kann, wird unsicher.
Verwendung der HTTPS-browser und Web-Server verarbeiten die Verschlüsselung nach dem TLS-standard und alle Daten in der form vorgelegt werden, sind sicher und mit wenig chance auf einen Lauscher in der Lage zu erhalten Benutzername/Passwort durch das hören auf den Draht (oder die Flugsicherung).
Wenn Sie mit einer Datenbank zum speichern der Passwörter, das ist, wo der Frühling Sicherheit Passwort-hashing ins Spiel kommt, da sollten Sie speichern Sie niemals Passwörter im Klartext
Unten ist die Lösung, die ich angewendet habe für das oben genannte Problem.
Wie oben code, den ich codiert Passwort text mit sha256-encoder.
Und auf server-Seite habe ich deaktiviert Frühjahr encoder die Codierung Passwort kommen-client.
Also auf dem server ist es direkt passende Hash-Wert aus client db-Hash-Wert.