Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1829 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Cryptage de César

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Cryptage de César

n°2244358
naabiilaa
Posté le 28-11-2014 à 18:47:26  profilanswer
 

Bonsoir, je veux faire un programme de codage suivant la methode de César sur les lettres de 'A' a 'Z', ma 1ere fonction controle le message avant le codage: garder que les lettres de A a Z (majuscules) et supprimer le reste, puis la 2eme fonction effectue le décalage... voila mes fonctions:  
 
 
 
 
char supprimer_lettres (char * chaine)
  {
    char * p ; /* pointeur aide */
     
     for ( ; *chaine ; chaine++)
      {
           
          if (*chaine >= 'A' && *chaine <= 'Z')
            chaine++;        
          else
            {
             p=chaine;
             p++;
             *chaine = *p;  
            }  
       }  
      return *chaine ;
  }  
 
           
 
 
char code_a_decalage_fixe ( char * chaine , int k) // k le decalage
  {
 
     char tab[26] = {'A','B',...., 'Z'};
     tab *t;                                  // ici je veux declarer un pointeur de type tab mais sa m'affiche une erreur !
     int i=0,j=0;
     
     supprimer_lettres(chaine);
     
     while (j<26 && i<strlen(chaine))
      {
             if ( *(chaine+i) != *(t+j) )
                  j++;
             *(chaine+i) = *(t+(j+k)) ;  
             i++;
             j++;
      }  
  }
 
 
Comment faire  :??:  Merci

mood
Publicité
Posté le 28-11-2014 à 18:47:26  profilanswer
 

n°2244414
remmog
Posté le 29-11-2014 à 01:59:41  profilanswer
 

Salut
 
tab est le nom de ta variable, donc tu ne peux pas avoir un pointeur de type tab. Tu peux avoir un pointeur vers le type de tab, donc un char*
cad que tu peux faire

Code :
  1. char *t = tab;

pour avoir t qui pointe sur le debut de tab.
 
Mais je pense que ton algo n'est pas du tout bon, ou alors j'ai rien compris à ce que tu veux faire....
Et surtout ton utilisation des pointeurs pour supprimer/decaler des lettres est ultra dangereuse pour ne pas dire fausse. La ça va très vite te peter à la figure.


Message édité par remmog le 29-11-2014 à 02:00:30
n°2244419
el muchach​o
Comfortably Numb
Posté le 29-11-2014 à 03:18:21  profilanswer
 

naabiilaa a écrit :


Comment faire  :??:  Merci


Commence par simuler ton algo étape par étape sur un papier quadrillé avant de te lancer dans le codage en C. Fais en sorte que l'algo sur le papier soit le plus simple possible.
Ensuite retranscris.

n°2244443
Ummon
Posté le 29-11-2014 à 16:55:38  profilanswer
 

Le chiffre de César n'est pas très sûr, je te recommande plutôt de l'AES-CBC-256+RSA2048+HMAC-SHA256, bonne implémentation!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Cryptage de César

 

Sujets relatifs
Vos conseils sur cet algo de cryptage[Haskell] cryptage ecb
Cryptage et decryptage C++[Recherche] Algorithme de cryptage asymétrique
cryptage d'un message à plusieurs destinatairesCryptage SSL
CryptageCryptage asymetrique d'URL?
Signature et Cryptage fichier XML avec phpQuel est le type de cryptage de ce mot de passe?:
Plus de sujets relatifs à : Cryptage de César


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR