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

C Discussion :

decryptage de chiffre de vigenere


Sujet :

C

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Par défaut decryptage de chiffre de vigenere
    merci de faire attention à mon probleme
    j'ai un probleme à propos de la fenction de decryptage
    et voilà mon programme:


    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    #include<stdio.h>
    #include<string.h>
    #include<math.h>
    #include<ctype.h>
    	 //char *alphabet = "abcdefghijklmnopqrstuvwxyz";
    	 char texte[200];            //texte à coder
    	 char *ptexte = texte;
    	 char clef[20];              //la clé
    	 char *pclef = clef;
    	 char crypte[200];
    	 char *p = crypte;           //le texte crypte
    	 char decrypte[200];
    	 char *pdec=decrypte;
    	 int lgtexte;                //longueure du texte à crypter
    	 int lgclef;                 //longueure de la clef
    /* cryptage */
    	void cryptage(char* ptexte, char* pclef)
    	{
    	 int i = 0;
    	 do {
    		  int j = 0;
     
    		  do {
    				/* attention aux parenthèses */
    				if (isalpha(*(ptexte + i))!= 0)
    				{
    					 /* = à la place de == */
    					 *(p + i) = (*(ptexte + i) + *(pclef + j) - 2 * 'a') % 26 + 'a';
    					 i++;
    					 j++;
    				}
    				else
    				{
    				*(p + i) = *(ptexte + i);
    					 i++;
    				}
    		  }
    		  /* attention aux condition de sortie */
    		  while (j < lgclef);
    	 }
    	 while (i < lgtexte);
    	 puts("/*message crypte*/");
    	 puts(crypte);
    }
    void decryptage(char* p, char* pclef)
    {
    	 int i = 0;
    	 do 
    	 {
    		 int j = 0;
     
    		 do {
    			 /* attention aux parenthèses */
    			 if (isalpha(*(p + i))!= 0)
    			 {
    				 /* = à la place de == */
     
    				 *(pdec + i) =(*(p + i) - *(pclef + j))%26 +'a' ;
     
     
    				 //	 *(pdec + i) =26+(*(p + i) - *(pclef + j)) +'a';
     
     
    				 i++;
    				 j++;
    			 }
    			 else
    			 {
    				 *(pdec+i)=*(p+i);
    				 i++;
    			 }
    		 }
    		 /* attention aux condition de sortie */
    		 while (j < lgclef);
    	 }
    	 while (i < lgtexte);
    	 puts("/*message decrypte*/");
    	 puts(decrypte);
    }
    void main()
    {
     
     
    	 puts("+++taper le texte à coder+++ \n");
    	 gets(texte);
    	 lgtexte = strlen(texte);
    	 printf("+++taper la clef+++ \n");
    	 gets(clef);
    	 lgclef = strlen(clef);
    	 cryptage(ptexte, pclef);
    	 decryptage(p, pclef);
    	 }

    merci

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Quel est le problème ? compilation, crash, résultat ?
    Merci de penser aux balises CODE (#).

    PS : gets n'est pas une fonction sure. Il faut mieux utiliser fgets à la place.

Discussions similaires

  1. Cryptage/Decryptage et Chiffre de Cesar ?
    Par Invité dans le forum Débuter
    Réponses: 1
    Dernier message: 28/11/2012, 07h35
  2. Chiffre de Vigenere
    Par chroufa87 dans le forum C
    Réponses: 3
    Dernier message: 28/05/2009, 11h09
  3. [VB6] [Printer] Chiffres alignés à droite
    Par Laye dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 03/10/2002, 18h36
  4. Chiffre a Virgule Fixe
    Par garybaldi dans le forum C
    Réponses: 3
    Dernier message: 21/06/2002, 10h41
  5. Recherche programme qui convertit les chiffres arabes en nb
    Par oli57 dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 15/06/2002, 03h11

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