Applet und Verschlüsselung von Passwörtern

  • Themenstarter Themenstarter tora
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
T

tora

Gast
Hallo

Ich habe eine Frage zur Verschlüsselung in einem Applet. Ich verstehe nämlich gerade die Welt nicht mehr. Jedes mal, wenn ich das gleiche Passwort eingebe, ist der verschlüsselte Wert ein anderer. In der normalen Java-Anwendung hat alles gut geklappt und jetzt als Applet eingebettet in einer HTML-Seite kommt jedes Mal ein anderer Wert raus. Klar, dass man sich dann nicht anmelden kann.
Habt ihr eine Idee, woran das liegen könnte?
Ich habe ja die HTML-Seite im Verdacht, denn wenn ich das Applet im Appletviewer öffne, dann klappt auch noch alles. :roll:

Code:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
	<title>Coloring Book applet</title>
	<meta name="generator" content="BBEdit 6.5.2" />
	<link rel="stylesheet" href="/styles/main.css" type="text/css" />

</head>

<body>

	<applet archive="applet.jar"
	codebase="." code="applet.Applet.class" width="1100" height="650">

	</applet>

</body>

</html>
So sieht in etwa meine HTML-Seite aus. Wer weiß, was daran falsch ist??

Danke! :wink:
 
Ich kann nur für mich sprechen aber ohne den Code in deinem Applet ist es doch schwer dir zu helfen.

Die Wechselwirkungen zwischen Java und HTML kann man erst sehen, wenn man weiß wie beide Seiten aussehen.
 
Hallo,

hier ist der Verschlüsselungscode aus dem Applet

Code:
String passwd = new String(tfPasswd.getPassword()); 

Cipher cipher; 
SecureRandom sr = new SecureRandom("seed".getBytes("UTF-8")); 
KeyGenerator kGen = KeyGenerator.getInstance("DESEDE"); 
kGen.init(168,sr); 
Key key = kGen.generateKey(); 
cipher = Cipher.getInstance("DESEDE/ECB/PKCS5Padding"); 
                
// encrypt 
cipher.init(Cipher.ENCRYPT_MODE,key); 
byte[] bIn = cipher.doFinal(passwd.getBytes("UTF-8")); 
                
// convert encrypted bytes into string 
String passwdEncoded = new String(Base64.encode(bIn)); 
System.out.println("loginframe: "+passwdEncoded);

Die letzte Zeile liefert immer ein anderes Ergebnis, wenn das Applet über die HTML-Seite aufgerufen wird, obwohl das Passwort immer das selbe ist.
 
Du erstellst ja auch bei jedem Aufruf einen neuen Verschlüsselungskey. Du musst den Key speichern, wenn Du das Passwort später abgleichen willst.

(Oder liege ich hier falsch?)
 
Danke! Das war's!

Mache es jetzt ganz anders mit SHA und das klappt gut.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben