CRYPTOGRAPHIE PAR SUBSTITUTION POLYALPHABETIQUE (RANDRIANO)
randriano
Messages postés54Date d'inscriptionvendredi 13 avril 2007StatutMembreDernière intervention26 juillet 2011
-
19 avril 2007 à 12:58
randriano
Messages postés54Date d'inscriptionvendredi 13 avril 2007StatutMembreDernière intervention26 juillet 2011
-
5 mai 2007 à 16:37
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
randriano
Messages postés54Date d'inscriptionvendredi 13 avril 2007StatutMembreDernière intervention26 juillet 2011 5 mai 2007 à 16:37
J'ai apporté une grande modification à ce code comme la classe TAbaque et l'utilisation de AnsiString!
Je vais vous demander les amis:
Qu'est ce que c'est vraiment les erreurs C++ E2129, E...
Elles ne sont pas claires car n'indiquent pas précisement la ligne de code ou l'identificateur qui cause l'erreur.
randriano
Messages postés54Date d'inscriptionvendredi 13 avril 2007StatutMembreDernière intervention26 juillet 2011 22 avril 2007 à 16:05
En effet, j'avoue Brunews que j'ai oublié delete.
La version 2.0 est proche mais un problème:
[C++ Erreur fatale] sysmac.h(8): F1003 Erreur de directive : Do not include this file directly. Include 'system.hpp'.
J'ai créé une classe TAbaque qui sera un membre statique de la classe TPolyAlphabetique:
cette erreur apparaît à la définition de cette membre:
TAbaque * TPolyAlphabetique::abaque=new TAbaque();
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 19 avril 2007 à 18:39
"strcat est une boucle, pas la peine de les REfaire inutilement."
Je parlais bien entendu de "strlen".
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 19 avril 2007 à 17:18
Une petite question. C'est pas ce qu'on appelle le code Rome ce mode de cryptage ?
YOYO, @+.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 19 avril 2007 à 15:03
Bien de vouloir s'élever mais faudra d'abord coder correctement.
void PolyAlphabetique::buildstrkey()
{
int lk = strlen(cle);
int ltxt;
char *tmp = new char[255];
if(strlen(textclair) > strlen(textcrypte)) ltxt = strlen(textclair);
else ltxt = strlen(textcrypte);
int d = ltxt / lk;
int m = ltxt % lk;
for(int i = 0; i < d; i++) strcat(chainecle, cle);
if(m > 0) strncpy(tmp, cle, m);
strcat(chainecle, tmp);
chainecle[ltxt] = 0; //finir chainecle par le kre nul
}
char *tmp = new char[255];
Où est le delete correspondant ???
if(strlen(textclair) > strlen(textcrypte)) ltxt = strlen(textclair);
else ltxt = strlen(textcrypte);
strcat est une boucle, pas la peine de les REfaire inutilement.
for(int i = 0; i < d; i++) strcat(chainecle, cle);
d fois le reparcours complet de chainecle, contreproductif absolu.
char *c, *d;
d = chainecle;
for(int i = 0; i < d; i++) {
c = cle;
while(*d = *c++) d++;
}
Voila sans aucun reparcours stérile de chainecle.
Bonne continuation.
randriano
Messages postés54Date d'inscriptionvendredi 13 avril 2007StatutMembreDernière intervention26 juillet 2011 19 avril 2007 à 12:58
Initiez-vous à la programmation sur les chiffrements avec cela, fini la cryptographie de Jules césar passons à un niveau plus élevé.
je promets qu'il y aura une amélioration comme: classe TAbaque, abaque qui traite les 256 caractères.
5 mai 2007 à 16:37
Je vais vous demander les amis:
Qu'est ce que c'est vraiment les erreurs C++ E2129, E...
Elles ne sont pas claires car n'indiquent pas précisement la ligne de code ou l'identificateur qui cause l'erreur.
22 avril 2007 à 16:05
La version 2.0 est proche mais un problème:
[C++ Erreur fatale] sysmac.h(8): F1003 Erreur de directive : Do not include this file directly. Include 'system.hpp'.
J'ai créé une classe TAbaque qui sera un membre statique de la classe TPolyAlphabetique:
cette erreur apparaît à la définition de cette membre:
TAbaque * TPolyAlphabetique::abaque=new TAbaque();
19 avril 2007 à 18:39
Je parlais bien entendu de "strlen".
19 avril 2007 à 17:18
YOYO, @+.
19 avril 2007 à 15:03
void PolyAlphabetique::buildstrkey()
{
int lk = strlen(cle);
int ltxt;
char *tmp = new char[255];
if(strlen(textclair) > strlen(textcrypte)) ltxt = strlen(textclair);
else ltxt = strlen(textcrypte);
int d = ltxt / lk;
int m = ltxt % lk;
for(int i = 0; i < d; i++) strcat(chainecle, cle);
if(m > 0) strncpy(tmp, cle, m);
strcat(chainecle, tmp);
chainecle[ltxt] = 0; //finir chainecle par le kre nul
}
char *tmp = new char[255];
Où est le delete correspondant ???
if(strlen(textclair) > strlen(textcrypte)) ltxt = strlen(textclair);
else ltxt = strlen(textcrypte);
strcat est une boucle, pas la peine de les REfaire inutilement.
for(int i = 0; i < d; i++) strcat(chainecle, cle);
d fois le reparcours complet de chainecle, contreproductif absolu.
char *c, *d;
d = chainecle;
for(int i = 0; i < d; i++) {
c = cle;
while(*d = *c++) d++;
}
Voila sans aucun reparcours stérile de chainecle.
Bonne continuation.
19 avril 2007 à 12:58
je promets qu'il y aura une amélioration comme: classe TAbaque, abaque qui traite les 256 caractères.