Textverschlüsselung

G

guestN

Gast
Hallo Zusammen,

ich habe unter Using AES with Java Technology den Code für den Verschlüsselungsalgorithmus AES gefunden.

Java:
String message="This is just an example";

       // Get the KeyGenerator
       KeyGenerator kgen = KeyGenerator.getInstance("AES");
       kgen.init(128);

       // Generate the secret key specs.
       SecretKey skey = kgen.generateKey();
       byte[] raw = skey.getEncoded();

       SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");

       // Instantiate the cipher

       Cipher cipher = Cipher.getInstance("AES");

       cipher.init(Cipher.ENCRYPT_MODE, skeySpec);

       byte[] encrypted =
         cipher.doFinal((args.length == 0 ?
          "This is just an example" : args[0]).getBytes());
       System.out.println("encrypted string: " + encrypted);

Der verschlüsselte Text sieht folgendermaßen aus: "í¬ v¥r¸õ¥9ÐEÄÃ".
Kann jemand erklären, was das für eine "komische" Zeichenfolge ist? Hat es was mit der Codierung (UTF-8 oder sonstige) zutun?

Ich bedanke mich im Voraus
Gruß
 
S

Spacerat

Gast
Erstaunlich, wie oft immer wieder versucht wird, aus dem Cipher einen "lesbaren" Text zu formen ;)
Faktisch kann in dem Bytearray alles stehen, zu mal es ein berechneter Zahlencode ist. Dieser Zahlencode eignet sich keineswegs zum speichern in einem String geschweige denn in einer Textdatei. Wenn der Cipher nun doch als Text übermittelt werden soll, kann man ihn z.B. mit Base64 in simple ASCII-Zeichen wandeln.
 
Zuletzt bearbeitet von einem Moderator:

sinoptik

Mitglied
Hi,

ich habe mir auch dieses Programm auf Using AES with Java Technology angeschaut.
Verstehe ich das richtig - dieses Prog erzeugt einen Schlüssel, holt sich die Rohbytes des Schlüssels und baut daraus nochmals einen Schlüssel?
Was genau macht die asHex-Methode? Gibt sie den Hexadezimalwert eines Strings oder einer Byte-Folge aus?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Textverschlüsselung Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben