Hallo,
wie ihr euch vielleicht denken könnt, plane ich folgendes: Ich will für ein Passwort, das mir über ein JPasswordField gegeben wurde - also sinnvoller Weise als char[] vorliegt, eine SHA-1-Prüfsumme berechnen, die anschließend in die Datenbank wandern wird. Dabei gibt es bloß ein Problem: MessageDigest verlangt byte[] als Parameter, ich hab aber char[] - eine Umwandlung scheint nur über String machbar zu sein. Den Weg über String will ich aber nicht gehen, weil JPasswordField mir das Passwort ja nicht zum Spaß als char[] zurückgibt (Übriggebliebene Passwörter im Speicher und so'n Quatsch).
Wer weiß eine vernünftige Lösung?
mpG
Tobias
P.S.: Derzeitiger Lösungsweg:
Für jeden Character im Array wird ein neuer String angelegt, welcher seine Byte-Werte per update() in den Digester gibt. So ist zumindest die Reihenfolge der Zeichen unklar, wenn das Ursprungsarray erst überschrieben wurde - aber optimal ist das was "Performance" und "Sicherheit" angeht natürlich nicht.
wie ihr euch vielleicht denken könnt, plane ich folgendes: Ich will für ein Passwort, das mir über ein JPasswordField gegeben wurde - also sinnvoller Weise als char[] vorliegt, eine SHA-1-Prüfsumme berechnen, die anschließend in die Datenbank wandern wird. Dabei gibt es bloß ein Problem: MessageDigest verlangt byte[] als Parameter, ich hab aber char[] - eine Umwandlung scheint nur über String machbar zu sein. Den Weg über String will ich aber nicht gehen, weil JPasswordField mir das Passwort ja nicht zum Spaß als char[] zurückgibt (Übriggebliebene Passwörter im Speicher und so'n Quatsch).
Wer weiß eine vernünftige Lösung?
mpG
Tobias
P.S.: Derzeitiger Lösungsweg:
Für jeden Character im Array wird ein neuer String angelegt, welcher seine Byte-Werte per update() in den Digester gibt. So ist zumindest die Reihenfolge der Zeichen unklar, wenn das Ursprungsarray erst überschrieben wurde - aber optimal ist das was "Performance" und "Sicherheit" angeht natürlich nicht.