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

Java Discussion :

Gérer un message trop long (cipher)


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 35
    Par défaut Gérer un message trop long (cipher)
    Bonjour à tous !

    voilà je cherche à chiffrer un message trop long mais je ne vois pas comment on procède voici le code, merci pour vos réponses

    en gros je me ramasse une exception :

    déc. 12, 2012 11:09:37 PM serveur_reservation.Serveur_Reservation ChiffrementCleSymetrique
    SEVERE: null
    javax.crypto.BadPaddingException: Data too long for this modulus!
    at cryptix.jce.provider.rsa.RSACipher_ECB_PKCS1.pad(RSACipher_ECB_PKCS1.java:337)
    at cryptix.jce.provider.rsa.RSACipher_ECB_PKCS1.engineDoFinal(RSACipher_ECB_PKCS1.java:219)
    at cryptix.jce.provider.rsa.RSACipher_ECB_PKCS1.engineDoFinal(RSACipher_ECB_PKCS1.java:178)
    at javax.crypto.Cipher.doFinal(Cipher.java:2086)
    at serveur_reservation.Serveur_Reservation.ChiffrementCleSymetrique(Serveur_Reservation.java:101)
    at serveur_reservation.Serveur_Reservation.main(Serveur_Reservation.java:71)


    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
    public static void ChiffrementCleSymetrique()
        {
            try 
            {
                String Clair = "c'est trop lonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnng";
     
                KeyPairGenerator PairGenerator = KeyPairGenerator.getInstance("RSA", "CryptixCrypto");
     
                PairGenerator.initialize(1024, new SecureRandom());
                KeyPair KeyPair = PairGenerator.generateKeyPair();
                PublicKey aPublic = KeyPair.getPublic();
                PrivateKey aPrivate = KeyPair.getPrivate();
                Cipher chiffrement = Cipher.getInstance("RSA/ECB/PKCS#1", "CryptixCrypto");
                chiffrement.init(Cipher.ENCRYPT_MODE, aPublic);
     
                System.out.println("Message en clair :" + Clair);
     
                byte[] chiffre = chiffrement.doFinal(Clair.getBytes());
     
                System.out.println("Message chiffre :" + new String(chiffre));
     
                chiffrement.init(Cipher.DECRYPT_MODE, aPrivate);
                byte[] dechiffre = chiffrement.doFinal(chiffre);
     
                System.out.println("Message déchiffre :" +new String(dechiffre));
     
     
            } catch (IllegalBlockSizeException ex) {
                Logger.getLogger(Serveur_Reservation.class.getName()).log(Level.SEVERE, null, ex);
            } catch (BadPaddingException ex) {
                Logger.getLogger(Serveur_Reservation.class.getName()).log(Level.SEVERE, null, ex);
            } catch (InvalidKeyException ex) {
                Logger.getLogger(Serveur_Reservation.class.getName()).log(Level.SEVERE, null, ex);
            } catch (NoSuchPaddingException ex) {
                Logger.getLogger(Serveur_Reservation.class.getName()).log(Level.SEVERE, null, ex);
            } catch (NoSuchAlgorithmException ex) {
                Logger.getLogger(Serveur_Reservation.class.getName()).log(Level.SEVERE, null, ex);
            } catch (NoSuchProviderException ex) {
                Logger.getLogger(Serveur_Reservation.class.getName()).log(Level.SEVERE, null, ex);
            }
     
        }

  2. #2
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Jamais essayé, mais google est mon ami
    Va voir du côté de https://www.owasp.org/index.php/Digi...tation_in_Java le chapitre Algorithm for Implementing Digital signature using RSA Algorithm donne les deux approches possibles pour résoudre ton problème

Discussions similaires

  1. Traitement de message trop long C++/WINAPI
    Par sex4fun dans le forum C++
    Réponses: 4
    Dernier message: 12/02/2008, 10h15
  2. script trop long message afficher par navigateur
    Par nocoment dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/05/2007, 18h40
  3. [VB6]Message d'erreur si le temps d'exécution est trop long
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 14/09/2006, 16h43
  4. [FLASH 8] Composant Alert - Message trop long
    Par aldo-tlse dans le forum Flash
    Réponses: 2
    Dernier message: 02/12/2005, 19h58

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