javax.crypto.SecretKey - Einfaches Beispiel gewünscht ;-)

Status
Nicht offen für weitere Antworten.

reibi

Top Contributor
Hallo,

ich versuche mit dem "javax.crypto"-Package ein passwort zu ver-und endschlüsseln. Ich benutze dabei das gleiche StandardBeispiel wie alle, nämlich das aus: javaalmanac.com -- crypto

und das sieht von mir vereinfacht so aus:


Code:
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;

public class Encryption {
	Cipher ecipher;
	Cipher dcipher;

	public Encryption(SecretKey key) throws Exception {
		ecipher=Cipher.getInstance("DES");
		dcipher=Cipher.getInstance("DES");
		ecipher.init(Cipher.ENCRYPT_MODE, key);
		dcipher.init(Cipher.DECRYPT_MODE, key);
	} // end Encryption()

	public String encrypt(String str) throws Exception {
		// Encode the string into bytes using utf-8
		byte[] utf8=str.getBytes("UTF8");
		byte[] enc=ecipher.doFinal(utf8);

		return new sun.misc.BASE64Encoder().encode(enc);
	} // end encrypt()

	public String decrypt(String str) throws Exception {
		byte[] dec=new sun.misc.BASE64Decoder().decodeBuffer(str);
		byte[] utf8=dcipher.doFinal(dec);

		return new String(utf8, "UTF8");
	} // end decrypt()

	public static void main(String[] args) {
		try {
			SecretKey key=KeyGenerator.getInstance("DES").generateKey();

			Encryption myEncryption=new Encryption(key);
			String encrypted=myEncryption.encrypt("dasGeheimeWort");
			System.out.println("Encrypted="+encrypted);

			String decrypted=myEncryption.decrypt(encrypted);
			System.out.println("Decrypted="+decrypted);
		} // end try
		catch(Exception e) {
		} // end catch
	} // end main()
} // end Encryption


Mein Problem ist aber, dass sich der SecretKey bei jedem neuen Start verändert, weil er neu generiert wird.

Den kann ich irgendwie auch nicht fest machen.

Resultat ist das das verschlüsselte Passwort beim nächsten Start nicht mehr gültig ist.


--> Gibts irgendwie ne Möglichkeit diesen SecureKey zu initialisieren? Wenn geht ohne extra Implementation eines Fremdanbieters.

Also ich suche sowas wenn geht:

SecretKey key = new SecureKeyImpl("Der Schlüssel");

vielen Dank fürs helfen
 
G

Guest

Gast
Code:
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
DESKeySpec keySpec = new DESKeySpec("sowasvongeheim".getBytes()); // !!! darf nicht kürzer als 8 Byte sein
SecretKey key = keyFactory.generateSecret(keySpec);
Alternativ kannst du den generierten SecretKey wiederverwenden
Code:
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
DESKeySpec keySpec = (DESKeySpec)keyFactory.getKeySpec(key, DESKeySpec.class);
byte keyBytes[] = keySpec.getKey(); // Das hier kannst du wiederverwenden. Siehe oben.
 

reibi

Top Contributor
Funktioniert gut ! vielen Dank

Habe noch n Problem mit nem anderen VerschlüsselungsALG ... dazu mach eich aber ein neues Forum auf ;-)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
schegga_B javax.crypto - Cipher Objekte - Sevice Provider matching? Allgemeine Java-Themen 1
schegga_B AES-Algorithmus in javax.crypto Allgemeine Java-Themen 3
severin_96 javax.crypto.IllegalBlockSizeException Allgemeine Java-Themen 7
Q javax.crypto.BadPaddingException - was ist das genau? Allgemeine Java-Themen 9
C Probleme mit javax.mail.Session Allgemeine Java-Themen 8
jumichel Eclipse The package javax.mail is not accessible Allgemeine Java-Themen 3
T Erste Schritte mit javax.validation Allgemeine Java-Themen 5
pkm javax.script.ScriptEngineManager gibt mir keine Engine Allgemeine Java-Themen 4
C javax.mail.Message message.setreplyto() null setzen (keine replyto Adresse) Allgemeine Java-Themen 25
E javax.mail sene Type ändern Allgemeine Java-Themen 2
RalleYTN javax.vecmath Transformationsmatrix für LWJGL3 Allgemeine Java-Themen 2
R javax.comm --> Programm funktioniert nach Export nicht mehr Allgemeine Java-Themen 0
U javax.mail.Folder.list() zeigt nicht alle Ordner Allgemeine Java-Themen 5
T javax.script (JavaScript): Nicht-JRE-Packages importieren/nutzen Allgemeine Java-Themen 4
buggy84 JavaX und win32comm.dll Allgemeine Java-Themen 3
N javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1] Allgemeine Java-Themen 3
H Java Mail Fehlermeldung: java.lang.NoClassDefFoundError: javax/mail/internet/AddressException Allgemeine Java-Themen 5
G Wie installiere ich javax-usb unter windows? Allgemeine Java-Themen 0
B Javax.Sound Problem (setMessage-Methode) Allgemeine Java-Themen 2
P javax.mail MessageCount Allgemeine Java-Themen 13
I javax.sound.sampled.* - Hilfe zu den Controls Allgemeine Java-Themen 8
E NoClassDefFoundError: javax/microedition/io/Connection Allgemeine Java-Themen 2
J javax.comm findet serielle ports nicht Allgemeine Java-Themen 2
B Eclipse [Ubuntu] Paket javax.media.* nicht gefunden Allgemeine Java-Themen 7
J package javax.servlet does not exist Allgemeine Java-Themen 5
T Wo ist javax.swing.TransferHandler enthalten? Allgemeine Java-Themen 10
M System.setProperty("javax.net.ssl.trustStore", "mykey.pkx"); Allgemeine Java-Themen 1
G javax.jms.IllegalStateException: This method. Allgemeine Java-Themen 4
E javax.comm: Suche eine open source Alternative zu rxtx Allgemeine Java-Themen 8
M Netbeans IDE und javax.comm 2.0 Allgemeine Java-Themen 4
O javax.comm ? Allgemeine Java-Themen 3
L Fehlende Teile des javax Packages Allgemeine Java-Themen 3
P welche java version für javax.mail? Allgemeine Java-Themen 7
L javax.comm unter Linux Allgemeine Java-Themen 11
G javax.comm bzw serielle Schhnittstelle? Allgemeine Java-Themen 2
S Fehler bei der javax.usb api Allgemeine Java-Themen 2
K javax.comm Problem beim starten aus .jar heraus Allgemeine Java-Themen 3
foobar Rxtx vs javax.comm Allgemeine Java-Themen 2
T Exception at javax.swing.plaf.basic.BasicTableUI.paintCell Allgemeine Java-Themen 3
T Wo kann ich Javax.Comm Api Downloaden ? Allgemeine Java-Themen 6
C [javax.mail] Betreff vergleichen Allgemeine Java-Themen 5
C [javax.mail] Folder not open Allgemeine Java-Themen 2
H javax.comm und Parallele Schnittstelle (PIN für PIN) Allgemeine Java-Themen 7
S Javax.comm Probleme mit Ansteuerung eines 8051 EEPROMs Allgemeine Java-Themen 8
F Problem beim Drucken mit javax.print Allgemeine Java-Themen 2
M javax.mail – Sending failed – Invalid Addresses Allgemeine Java-Themen 8
S RS232 mit javax.comm Allgemeine Java-Themen 5
N javax.security.sasl verzweifelt gesucht Allgemeine Java-Themen 2
P javax.sound: clip.stop(); Allgemeine Java-Themen 4
S javax.comm unter Windows XP Allgemeine Java-Themen 2
M Verwendung der Cipher von gnu crypto (Serpent) Allgemeine Java-Themen 3
J Passwort(String) ---> SecretKey(Spec) Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben