CRYPTOGRAPHIE PAR SUBSTITUTION POLYALPHABETIQUE (RANDRIANO)

randriano
Messages postés
54
Date d'inscription
vendredi 13 avril 2007
Statut
Membre
Dernière intervention
26 juillet 2011
- 19 avril 2007 à 12:58
randriano
Messages postés
54
Date d'inscription
vendredi 13 avril 2007
Statut
Membre
Dernière intervention
26 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.

https://codes-sources.commentcamarche.net/source/42346-cryptographie-par-substitution-polyalphabetique-randriano

randriano
Messages postés
54
Date d'inscription
vendredi 13 avril 2007
Statut
Membre
Dernière intervention
26 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és
54
Date d'inscription
vendredi 13 avril 2007
Statut
Membre
Dernière intervention
26 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és
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
19
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és
1403
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
11 janvier 2009
3
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és
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
19
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.
Afficher les 6 commentaires