Note that there are some explanatory texts on larger screens.

plurals
  1. POJava - SHA-256 hashing : Invalid AES key length : 64 bytes
    text
    copied!<pre><code>public static String doGenerate() { int val = 10000000; Random r = new Random(); int gen = r.nextInt(89999999); int gen1 = r.nextInt(89999999); gen = val + gen; gen1 = val + gen1; String reply = gen + "" + gen1; return reply; } </code></pre> <p>This is the method I use to generate a key I need for the AES algorithm given below.</p> <pre><code>public static void decryptFile(String keyString, String fileName){ try { KeyGenerator kgen = KeyGenerator.getInstance("AES"); kgen.init(128); SecretKey key = (SecretKey) new SecretKeySpec( keyString.getBytes(), "AES");// kgen.generateKey(); AESEncrypter encrypter = new AESEncrypter(key); encrypter.decrypt(new FileInputStream( new java.io.File("").getCanonicalFile() + File.separator + "Received"+ File.separator + fileName), new FileOutputStream(new java.io.File("").getCanonicalFile() + File.separator + "Decrypted" + File.separator + fileName)); } catch (Exception e) { e.printStackTrace(); } } </code></pre> <p>This is the AESEncrypter method.</p> <pre><code> public AESEncrypter(SecretKey key) { // Create an 8-byte initialization vector byte[] iv = new byte[] { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }; AlgorithmParameterSpec paramSpec = new IvParameterSpec(iv); try { ecipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); dcipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); // CBC requires an initialization vector ecipher.init(Cipher.ENCRYPT_MODE, key, paramSpec); dcipher.init(Cipher.DECRYPT_MODE, key, paramSpec); } catch (Exception e) { e.printStackTrace(); } } </code></pre> <p>After decrypting I get an invalid key exception: java.security.InvalidKeyException: Invalid AES key length: 64 bytes. Why is this happening? Is there a solution for this?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload