Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #38363

Re: Cipher.getInstance causing exception saying "length=4 index=7"

Newsgroups comp.lang.java.programmer
Date 2018-06-12 07:36 -0700
References <20305580-c3c7-4309-83ba-e3cbe594ec21@googlegroups.com> <pfog0l$q4i$1@dont-email.me>
Message-ID <0bec52a1-055e-46bf-9f49-734331b1663c@googlegroups.com> (permalink)
Subject Re: Cipher.getInstance causing exception saying "length=4 index=7"
From Eric Douglas <e.d.programmer@gmail.com>

Show all headers | View raw


On Tuesday, June 12, 2018 at 8:58:08 AM UTC-4, Eric Sosman wrote:
> > I have a small test program to try and encrypt the message hello world.  It keeps causing a exception when it calls getinstance.  code
> 
>      It would help if (1) you revealed the nature of the exception and
> (2) if you showed us your code.  Yes, I know you showed us something
> that you called "code," but clearly it's not "the code" that causes
> an exception.  (This is clear because the code shown won't even
> compile, hence it won't run, hence it will throw no exceptions,
> hence it isn't "the code.")
> 
>      Post again when you're able to come up with a more complete and
> more accurate problem description.
> 

Sure it compiles, once you add the imports, fix the method definition, and add a main to make it runnable.  I ran it, didn't get any exceptions because it's catching and ignoring them.  I added a print, so here's the trace.

import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
     public static boolean test() {
          try {
               Cipher desCipher;
               byte[] internalKey = { 23, 55, 34, 66, 33, 77 };
               String str = ("hellow world");
               SecretKeySpec myDesKey = new SecretKeySpec(internalKey, 0, 4, "DES");
               desCipher = Cipher.getInstance("DES");

               // exception goes off here
               desCipher.init(Cipher.ENCRYPT_MODE, myDesKey);

               byte[] text = str.getBytes("UTF8");
               byte[] textEncrypted = desCipher.doFinal(text);

          } catch (Exception e) {
               e.printStackTrace();
               String m = e.getMessage();
               return false;
          }
          return true;
     }
     public static void main(final String[] args) {
          System.out.println(test());
     }
java.security.InvalidKeyException: Wrong key size
	at com.sun.crypto.provider.DESCrypt.init(DESCrypt.java:536)
	at com.sun.crypto.provider.ElectronicCodeBook.init(ElectronicCodeBook.java:94)
	at com.sun.crypto.provider.CipherCore.init(CipherCore.java:592)
	at com.sun.crypto.provider.CipherCore.init(CipherCore.java:468)
	at com.sun.crypto.provider.DESCipher.engineInit(DESCipher.java:186)
	at javax.crypto.Cipher.implInit(Cipher.java:801)
	at javax.crypto.Cipher.chooseProvider(Cipher.java:863)
	at javax.crypto.Cipher.init(Cipher.java:1248)
	at javax.crypto.Cipher.init(Cipher.java:1185)

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Cipher.getInstance causing exception saying "length=4 index=7" tedpottel5@gmail.com - 2018-06-12 04:38 -0700
  Re: Cipher.getInstance causing exception saying "length=4 index=7" Eric Sosman <esosman@comcast-dot-net.invalid> - 2018-06-12 08:57 -0400
    Re: Cipher.getInstance causing exception saying "length=4 index=7" Eric Douglas <e.d.programmer@gmail.com> - 2018-06-12 07:36 -0700
      Re: Cipher.getInstance causing exception saying "length=4 index=7" Eric Sosman <esosman@comcast-dot-net.invalid> - 2018-06-12 11:57 -0400
        Re: Cipher.getInstance causing exception saying "length=4 index=7" v_borchert@despammed.com (Volker Borchert) - 2018-06-12 19:32 +0000
  Re: Cipher.getInstance causing exception saying "length=4 index=7" Eric Douglas <e.d.programmer@gmail.com> - 2018-06-12 07:41 -0700
    Re: Cipher.getInstance causing exception saying "length=4 index=7" Eric Douglas <e.d.programmer@gmail.com> - 2018-06-12 08:33 -0700

csiph-web