J'ai une application développée sur BlackBerry JE 4.6.1 qui déchiffre une information de WebServer en utilisant DES algorythm. Si j'envoie des informations cryptées au serveur, elles sont bien décryptées. Mais dans le cas où le serveur envoie une donnée cryptée, je n'obtiens pas la valeur correcte après déchiffrement. La clé est censée être la même et les informations cryptées sont envoyées en base64. Au cours du débogage, j'ai découvert que, après la création de DESKey, ses données internes diffèrent du tableau d'octets transmis au constructeur. Par exemple, si je crée le Deskey la prochaine voieQuel est le problème avec ma DESKey (API BlackBerry)?
String keyStr = "2100000A";
DESKey desKey = new DESKey(keyStr.getBytes()); // pass the byte array {'2','1','0','0','0','0','0','A'}
la méthode desKey.getData() retourne le tableau d'octets { '2', '1', '1', '1', '1', '1', '1', '@'} qui diffère des octets de clé initiaux.
Est-il possible qu'un tel comportement de la clé DES soit la raison pour laquelle je ne peux pas décrypter des données du serveur?
Merci.