Cipher verschlüsselt nur wenige Zeichen.

Kai008

Erfahrenes Mitglied
Hab darüber leider keine Informationen gefunden ob das normal ist und ich ihm immer nur wenige Zeichen zum ändern geben soll, oder ob das ein Bug im Source ist.

Verschlüsselung:

Java:
public void encrypt(String value, String key) throws Exception
{
	Cipher c = Cipher.getInstance("DES");
	Key k = new SecretKeySpec(key.getBytes(), "DES");
	c.init( Cipher.ENCRYPT_MODE, k );
	c.update(value.getBytes());
	OutputStream out = new FileOutputStream("en.des");
	CipherOutputStream cos = new CipherOutputStream(out, c);
	cos.close();
}

Diese soll die Levelinformationen verschlüsseln und in das File en.des schreiben.
Diese enthält danach:

Code:
ã.`ü…ž«õ

Also liegt es wohl zu 99.9% Warscheinlichkeit daran, da der Plaintext 30 * 25 * 2 Zeichen hat.

Aber zur Sicherheit mal das was es entschlüsseln soll:

Java:
public String decryptfilecontent(String file, String key)
{
	try
	{
		BufferedReader in;
		in = new BufferedReader(new FileReader(file));
		String value = in.readLine();
		
		Cipher c = Cipher.getInstance("DES");
		Key k = new SecretKeySpec(key.getBytes(), "DES");
		c.init(Cipher.DECRYPT_MODE, k);
		c.update(value.getBytes());
		CipherOutputStream cos = new CipherOutputStream(new FileOutputStream("des"), c);
		cos.close();
			
		String sammle = "";
		in = new BufferedReader(new FileReader("des"));
		while((value = in.readLine()) != null)
			sammle = sammle + "" + value;

		File f = new File("des");
		f.delete();

		return(sammle);
	}
	catch(Exception e)
	{
		e.printStackTrace();
	}
	return(null);
}

Dieses soll die (verschlüsselten) Daten aus dem angegebenen File lesen, es in ein anderes File schreiben, dieses auslesen und das File wieder löschen.
Aber ich erhalte immer nur die ersten 4 Zeichen zurück. Kann mir bitte wer sagen woran das liegt?
 
Zurück