Ungültige AES Schlüssel (Länge: 128 bytes?
Ich bin immer java.security.InvalidKeyException: Invalid AES key length: 128 bytes
auf meiner Linie
CIPHER.init(Cipher.ENCRYPT_MODE, keySpec);
mit CIPHER wird
Cipher CIPHER = Cipher.getInstance("AES");
und keySpec
SecretKeySpec keySpec = new SecretKeySpec(key, "AES");
dieser Schlüssel ist ein byte[]
von der Länge 128 bekam ich durch einen Diffie-Hellman-key-exchange (obwohl es nicht darauf ankommt, wo ich es bekommen, nicht wahr?), key
ist komplett gefüllt mit einer von null verschiedenen bytes
Warum ist Cipher.init(...)
beschwert sich, dass der Schlüssel ist, eine falsche Länge? Diese Webseite klar, dass ein Schlüssel der Länge 128 unterstützt wird.
Was bin ich Blick?
- Ich glaube, Sie wollen 128-bit-Schlüssel - nicht 128 bytes?
- oops rechts herp derp. Bitte legen Sie diese als eine Antwort, so kann ich es akzeptieren und vielleicht eine Anregung für die, welche Verschlüsselungs-algo zu verwenden, mit 128-Byte-Schlüssel
- Ok. Posting Antwort jetzt
- Hi vrwim, was algo hast du am Ende mit?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, Sie müssen 128-bit-Schlüssel (hier für den AES-Algorithmus - nicht 128 byte. Konvertieren Sie Ihre lange Schlüssel benötigt, um Länge, die Sie könnten versuchen, so etwas wie password-based key derivation Funktion. Sehen PBKDF2 zum Beispiel.
AES-Algorithmus kann 128, 192 oder 256 bit Schlüssellänge. die ist 16, 24 oder 32 byte. Ihre Schlüssel der Länge 16 , 24 oder 32 bytes.