Hallo liebes Forum,
ersteinmal möcht ich mich kurz äußern wie froh ich bin, dass das Forum wieder lebt! :toll:
Dann aber direkt weiter zu meiner Frage. Ich habe folgenden Code implementiert mit dem ich einen Bitkey erzeuge und im Hexadezimal Format ausgebe.
In 15 von 16 Fällen funktioniert alles wie gehabt. Gibt es aber eine führende Null wird diese abgeschnitten und ich erhalte nur 63 anstelle von 64 Zeichen. Ansich kein Problem an sich, ich kann diese Fälle abfangen, aber ich würde halt auch gerne verstehen wieso dieses Problem besteht und im Moment tue ich das noch nicht. ???:L
Nachfolgend der Code.
EDIT: Komischer Weise werden die "[]" im Foren Javacode falsch angezeigt. Hoffe das führt nicht zu Verwirrung.
ersteinmal möcht ich mich kurz äußern wie froh ich bin, dass das Forum wieder lebt! :toll:
Dann aber direkt weiter zu meiner Frage. Ich habe folgenden Code implementiert mit dem ich einen Bitkey erzeuge und im Hexadezimal Format ausgebe.
In 15 von 16 Fällen funktioniert alles wie gehabt. Gibt es aber eine führende Null wird diese abgeschnitten und ich erhalte nur 63 anstelle von 64 Zeichen. Ansich kein Problem an sich, ich kann diese Fälle abfangen, aber ich würde halt auch gerne verstehen wieso dieses Problem besteht und im Moment tue ich das noch nicht. ???:L
Nachfolgend der Code.
Java:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
public class KeyGenNTD {
public static void main(String[] args) throws NoSuchAlgorithmException,
FileNotFoundException, IOException {
// Schlüssel erzeugen
byte[] key = null;
KeyGenerator kgen = KeyGenerator.getInstance("AES");
// args1 = bitlänge
kgen.init(256);
SecretKey skey = kgen.generateKey();
key = skey.getEncoded();
System.out.println(Arrays.toString(key));
String data = new BigInteger(1, key).toString(16);
// Den Schlüssel in eine Datei schreiben (args[0])
String secretKeyFileName = "key.txt";
FileWriter writy = new FileWriter(new File(secretKeyFileName));
data=data.toUpperCase();
writy.write(data);
writy.flush();
writy.close();
}
}
EDIT: Komischer Weise werden die "[]" im Foren Javacode falsch angezeigt. Hoffe das führt nicht zu Verwirrung.
Zuletzt bearbeitet: