# Verschlüsselung mit Java



## winter2 (25. Nov 2004)

Hallo,

ich programmiere gerade ein Applet mit Benutzeranmeldung. Nun habe ich mir die Frage gestellt, ob es Sinn macht, das Passwort zu verschlüsseln (liegt in einer Datenbank, auf die nicht jeder Zugriff hat).
Ich denke, hier wird niemand Interesse haben, sich hier einzuhacken, aber mit Java ließe sich doch so etwas ernsthaft gar nicht realisieren, oder?

Ich meine, man könnte doch den Code des Applets irgendwie abfangen und dekompilieren, und dann hat man ja den Verschlüsselungsalgorithmus und den Schlüssel, selbst wenn ich auch diesen aus der Datenbank beziehe - die Verbindung zur Datenbank ist ja eh hartcodiert im Code.

Ist da so? Wie wird das dann bei Java-Applets im Internet gemacht, beispielsweise im Online-Banking oder so? Laufen da nur Servlets?
Wie ist das denn eigentlich mit kommerziellen Java-Klassen, die nicht als Quellcode vertrieben werden? Wie schützen die Hersteller ihren Code denn vor dem Dekompilieren?


----------



## Jaraz (25. Nov 2004)

winter2 hat gesagt.:
			
		

> Ist da so? Wie wird das dann bei Java-Applets im Internet gemacht, beispielsweise im Online-Banking oder so? Laufen da nur Servlets?



Direkter Zugriff aus dem Internet auf eine Datenbank macht man nicht.
Setze auf dem Server eine Zwischenschicht ein, die den Zugriff auf die Datenbank regelt.
(Servlet, Applikation...)

Gruß Jaraz


----------



## foobar (7. Dez 2004)

> Wie schützen die Hersteller ihren Code denn vor dem Dekompilieren?


Du kannst den Quellcode mit Hilfe eines Obfuscators unleserlich machen.
STFW


----------



## meez (7. Dez 2004)

winter2 hat gesagt.:
			
		

> ... aber mit Java ließe sich doch so etwas ernsthaft gar nicht realisieren, oder?


Warum denn nicht??




			
				winter2 hat gesagt.:
			
		

> Wie schützen die Hersteller ihren Code denn vor dem Dekompilieren?



Gar nicht....Die warten bis jemand den Code bei sich benutzt, und verklagen ihn dann Schadenersatz....
In der tat, schützen sie ihn durch Lizenzen...




			
				winter2 hat gesagt.:
			
		

> Ist da so? Wie wird das dann bei Java-Applets im Internet gemacht, beispielsweise im Online-Banking oder so? Laufen da nur Servlets?



Meist ja....




			
				winter2 hat gesagt.:
			
		

> Ich meine, man könnte doch den Code des Applets irgendwie abfangen und dekompilieren, und dann hat man ja den Verschlüsselungsalgorithmus und den Schlüssel, selbst wenn ich auch diesen aus der Datenbank beziehe - die Verbindung zur Datenbank ist ja eh hartcodiert im Code.



Der Algorithmus ist kein Problem...(Alle neuartigen Verschlüsselungsalgos sind offen)...
ABER: NIE EINEN SCHLÜSSEL ODER PASSWORT HART CODIEREN!!!


----------

