Toon posts:

[java] Reproduceer DES-key

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een client/server applicatie, welke dmv DES-encryptie versleutelde gegevens overstuurt. Nu wil ik zowel op de client als op de server dezelfde DES-key genereren, aan de hand van een bij beide bekende string (seed). Dit getal wisselt iedere sessie. Ik gebruik de volgende code:

DESKeySpec desKeySpec = new DESKeySpec(seed.getBytes());
SecretKeyFactory keyFac = SecretKeyFactory.getInstance("DES");
Key desKey = keyFac.generateSecret(desKeySpec);

Maar deze levert verschillende keys op met dezelfde seed... :(

Verwijderd

Verwijderd schreef op 04 februari 2004 @ 16:39:
Ik ben bezig met een client/server applicatie, welke dmv DES-encryptie versleutelde gegevens overstuurt. Nu wil ik zowel op de client als op de server dezelfde DES-key genereren, aan de hand van een bij beide bekende string (seed). Dit getal wisselt iedere sessie. Ik gebruik de volgende code:

DESKeySpec desKeySpec = new DESKeySpec(seed.getBytes());
SecretKeyFactory keyFac = SecretKeyFactory.getInstance("DES");
Key desKey = keyFac.generateSecret(desKeySpec);

Maar deze levert verschillende keys op met dezelfde seed... :(
Je kunt een DES-key genereren van een eigen string door de eerste 7 bytes hiervan te nemen, een een 8'e byte te vullen met parity bits. Hier staat een codevoorbeeldje:
http://javaalmanac.com/egs/javax.crypto/MakeDes.html

De key die hier uit komt is je Secretkey, en kan aan een cipherobject gegeven worden om iets te versleutelen.

succes!