Henryk Plötz: Paßwortabfrage mit JAVA

Beitrag lesen

Moin,

ich weiß zwar nicht, warum es einem noch nicht einmal die 10 EUR/Monat (wenn überhaupt) wert sein soll, seine Daten zumindenst ein wenig mit .htaccess zu schützen, aber gut.

Eher Zweieurofuffzich.

[1] Hier der Code für das Applet
   String passwort = txt_nutzerpw.getText();
   String loginname = txt_nutzername.getText();

Hier baust Du jetzt aus passwort+loginname den Hash und überschreibst sofort beide Strings in voller Länge(!) mit Nullen.

Pustedingsbums, äh, kuchen. Strings sind in Java (und einigen anderen Sprachen, etwa Python) immutable, d.h. wenn du sie einmal erzeugt hast, kannst du sie nicht überschreiben um sie unbrauchbar zu machen. Und dank des nicht vorhersagbaren Verhaltens der Garbage Collection weisst du auch nicht wann der Speicher freigegeben wird (vom Überschreiben vor dem Freigeben ganz zu schweigen). Insgesamt hast du also keine Kontrolle mehr darüber ob und wann sie verschwinden. Dafür müsste dann schon ein Stringbuffer her, wobei ich mir auch da nicht sicher sein würde, dass nicht eine neunmalkluge VM mit der Meinung kommt, dass es billiger sei einen neuen leeren Stringbuffer aufzumachen anstatt den alten auszunullen.

Wobei das eh egal ist, da getText() offensichtlich einen String zurückliefert (den man wie gesagt nicht zuverlässig entsorgen kann) und daher der Geist ohnehin schon aus der Flasche ist. Und intern wird das TextField sicher auch noch den einen oder anderen String oder Stringbuffer mit dem Textinhalt rumliegen haben.

Das nur als Anmerkung damit sich hier niemand in falscher Sicherheit wiegt.

--
Henryk Plötz
Grüße aus Berlin
~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~