Bonjour,
Je tente de faire le cryptage d'un buffer d'octets.
L'init est la suivante:
Si je fais:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 static byte[] TrippleDESKey = { (byte) 0x38, (byte) 0x12, (byte) 0xA4, (byte) 0x19, (byte) 0xC6, (byte) 0x3B, (byte) 0xE7, (byte) 0x71, (byte) 0x00, (byte) 0x12, (byte) 0x00, (byte) 0x19, (byte) 0x80, (byte) 0x3B, (byte) 0xE7, (byte) 0x71, (byte) 0x01, (byte) 0x12, (byte) 0x01, (byte) 0x01, (byte) 0x01, (byte) 0x03, (byte) 0xE7, (byte) 0x71 }; DESKey deskey = (DESKey) KeyBuilder.buildKey(KeyBuilder.TYPE_DES, KeyBuilder.LENGTH_DES3_3KEY, false); Cipher cipherCBC = Cipher.getInstance(Cipher.ALG_DES_CBC_NOPAD, false); byte[] initialVector = new byte[] { 0,1,2,3, 4,5,6,7 };
Cela passe bien quand la longueur totale est de 120octects.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 deskey.setKey(TrippleDESKey, (short)0); cipherCBC.init(deskey, Cipher.MODE_ENCRYPT,initialVector,(short)0,(short)8); try { cipherCBC.doFinal( buffer, (short) dataOffset, (byte)(incomingLength), bufferRam, (short)0); }
Par contre, si je passe à 128octets, j'ai un ArrayIndexOutOfBoundsException.
Sachant que le buffer de sortie fait 1024octets. Y a t il une limitation dans la spec qui interdit d'utiliser des buffer de 128octets ou plus?
Et aussi, y a t il un manière qui permet de crypter un buffer de 128octets?
Merci de vos réponse
Partager