![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 | ||
Jr. Member
![]() Registriert seit: 22.12.2001
Alter: 43
Beiträge: 65
|
![]() Hallo!
Folgendes Problem: Ich schreib grad eine Webanwendung und bin dabei gezwungen gewisse Daten in Hidden-Formularfeldern in der JSP-Seite zu speichern. Der User soll gewisse Dinge allerdings nicht im Klartext lesen können also werden diese gewissen Daten verschlüsselt. Das verschlüsseln erfolgt mit folgender Funktion: Zitat:
Zitat:
Funktioniert alles einwandfrei, allerdings liefert die verschlüsselung immer nur Wirre Zeichen (ok das ist ja sinn und zweck) und ich bin mir nicht sicher ob dass dann in einer HTML-Seite ein Problem darstellt. Also um meine Frage nochmal auszuformulieren: Wie kann ich die Daten verschlüsseln wobei der verschlüsselte String nur A-Za-z0-9 enthalten sollte, oder wie kann den erhaltenen String in einen String ohne Sonderzeichen umwandeln? Danke Tschüss! |
||
![]() |
![]() |
![]() |
#2 |
Senior Member
![]() Registriert seit: 15.09.2002
Beiträge: 141
|
![]() Hallo,
Also mit den Javabibliotheken kenn ich mich zu wenig aus, und unser Javaprogrammierer ist schon im Wochenende ![]() Aber in PHP gibt es die Funktion "urlencode". Damit wird jeder String, auch wenn noch so viele Sonderzeichen enthalten sind, so aufbereitet, dass er über die Adressleiste verschickt werden kann. Es gibt auch "urldecode", aber das ist gar nicht mehr notwendig nach dem Versand, da das automatisch decodiert wird. Vielleicht gibt es in Java ja eine vergleichbare Funktion, wäre denkbar...
____________________________________
Liebe Grüße, Christian |
![]() |
![]() |
![]() |
#3 |
Jr. Member
![]() Registriert seit: 22.12.2001
Alter: 43
Beiträge: 65
|
![]() erstmal danke für die schnelle antwort.
Auch unter Java gibts sowas, in der Klasse javax.servlet.http.HttpServletResponse gibts die Funktion encodeURL(String) die das macht. Ich bin da allerdings noch auf einen anderen Ansatz gestoßen. bei dem zu verschlüsselnden String handelt es sich um das passwort. (Der Hintergrund warum ich das PW im hidden-field merken muss is egal, ist so) ich hab jetzt noch auf einigen PHP-Seiten rumgestöbert und bin darauf gestoßen, dass man auch einen Hash-Wert aus Name+Passwort berechnen kann welchen ich dann im Hidden-Field speichern könnte (Hash-Wert-Berechnung ist irreversibel und angeblich soll man das bei Name und Passwort per Hash machen) Wenn dann wieder Name+PW angegeben wird errechne ich nochmal den Hash und vergleiche ihn per String.equals() mit dem Hash im Hidden-Field, wenn das gleich ist, dann OK, sonst nicht OK. 1. Funktioniert das so, oder hab ich da wo einen Denkfehler? 2. Unter PHP gibts Unix-Crypt für die Berechnung vom Hexwert, wie mach ich das mit Java, wo es kein crypt gibt? Tschüss! |
![]() |
![]() |
![]() |
#4 |
Jr. Member
![]() Registriert seit: 22.12.2001
Alter: 43
Beiträge: 65
|
![]() Soda, hab jetzt schon eine Lösung gefunden.
encodeURL funktioniert nicht, die Sonderzeichen werden dabei unverändert an den Browser geschickt. Ich hab jetzt eine Funktion geschrieben die jedes Byte in einen Hex-String umwandelt und erhalte damit einen String wie A46D8C... Da ich jetzt nur mittels MD5-Algorithmus eine Prüfsumme von Name+Passwort errechne brauch ich den Hex-String auch nicht wieder zurück konvertieren. Einfach die Prüfsumme in der DB speichern und bei der Anmeldung neu berechnen, wenns zusammenstimmt ok, wenn nicht fliegt er. |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|