IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Exception iArrayIndexOutOfBounds Exception


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Par défaut Exception iArrayIndexOutOfBounds Exception
    ceci est une class simple qui permet de crypeter des données saisies pas l'utilisateur !!! le problème c'est que j'ai une exception que j'ai pas pu résoudre si vous pouvez m'aidez !!
    merci
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     public static void main(String[] args) {
        String plaintext = args[0];
        System.out.println("plaintext = " + plaintext);
        MyRSA rsa = new MyRSA();
        rsa.generateKeyPair();
        byte[] publicKey = rsa.getPublicKeyInBytes();
        byte[] privateKey = rsa.getPrivateKeyInBytes();
        byte[] ciphertext = rsa.crypt(plaintext);   
        System.out.println("ciphertext = " + new BigInteger(ciphertext));
     
        rsa.setPublicKey(publicKey);
        rsa.setPrivateKey(privateKey);    
        String plaintext2 = rsa.decryptInString(ciphertext);
        System.out.println("plaintext2 = " + plaintext2);
        if (!plaintext2.equals(plaintext)) System.out.println("Error: plaintext2 != plaintext");
      }
     
     
      private BigInteger crypt(BigInteger plaintext) {
        return plaintext.modPow(publicKey.getPublicExponent(), publicKey.getModulus());
      }
     
     
      private BigInteger decrypt(BigInteger ciphertext) {
        return ciphertext.modPow(privateKey.getPrivateExponent(), privateKey.getModulus());
      }            
     
     
      /**
       * Ajoute un byte de valeur 1 au début du message afin d'éviter que ce dernier
       * ne corresponde pas à un nombre négatif lorsqu'il sera transformé en
       * BigInteger.
       */
      private static byte[] addOneByte(byte[] input) {
        byte[] result = new byte[input.length+1];
        result[0] = 1;
        for (int i = 0; i < input.length; i++) {
          result[i+1] = input[i];
        }
        return result;
      }
     
     
      /**
       * Retire le byte ajouté par la méthode addOneByte.
       */
      private static byte[] removeOneByte(byte[] input) {
        byte[] result = new byte[input.length-1];
        for (int i = 0; i < result.length; i++) {
          result[i] = input[i+1];
        }
        return result;
      }
    }

  2. #2
    Membre éprouvé
    Avatar de David Gimelle
    Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2007
    Messages : 79
    Par défaut
    Est-ce que tu peux poster aussi ton exception ?

    David Gimelle
    Developpeur J2EE
    http://getj2ee.over-blog.com

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    	at MyRSA.main(MyRSA.java:113)
    l'erreu est déclaré au niveau de la déclaration du plaintext !!

  4. #4
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Cette erreur indique que tu accèdes à un élément qui n'existe pas dans un tableau.

    Le tableau est sans doute args, à la ligne String plaintext = args[0];.

    Cet args étant les paramètres de la ligne de commande, il est probable que tu ne passes pas d'arguments à ton programme.

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Par défaut
    Merci et est ce que vous avez une idée sur ce que je dois faire ??

  6. #6
    Membre émérite Avatar de Tuxico
    Profil pro
    Étudiant
    Inscrit en
    Août 2003
    Messages
    662
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2003
    Messages : 662
    Par défaut
    vérifier que args[] ne soit pas vide à l'exécution, auquel cas renvoyez une exception ou un message d'erreur, ou tout simplement taper un argument à l'exécution de ton prog style:

    java tonprog bonjour

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Unhandled exception type Exception
    Par mickael28 dans le forum Débuter avec Java
    Réponses: 17
    Dernier message: 20/11/2009, 11h12
  2. Erreurs et Exceptions: try except
    Par Narann dans le forum Général Python
    Réponses: 7
    Dernier message: 20/08/2009, 15h54
  3. [Exception] Nested exception pour les EJB
    Par R1pToR dans le forum Struts 1
    Réponses: 1
    Dernier message: 05/07/2007, 14h53
  4. Réponses: 2
    Dernier message: 18/07/2006, 18h53
  5. [Débutant][Exception] Creer Exception
    Par florantine dans le forum Langage
    Réponses: 4
    Dernier message: 13/01/2006, 09h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo