Exemple de cryptage !!!!

Contenu du snippet

Programme compiler avec Borland C\C++ 5.5 ....

Source / Exemple :


#include <stdio.h> 
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <windows.h>

//declare les prototypes des fonctions :
void logo_depart(void);
void logo_choix_a(void);
void nouvelle_clef(char chaine[9999], char chaine2[9999]);
void un_cryptage(char chaine[9999], char chaine2[9999]);

//programme :
int main()
{
//variables :
char selection; //permet de savoir ce qu'a choisi l'utilisateur !
char buffer[9000]; //sert a TOUT !!!
char clef[9000]; //variable contenant la cle !
char acrypter[9000]; //texte a crypter

//lance la fonction logo :
logo_depart();

selection = getch();

switch(selection)
{
//il a appuyer sur q ???
case 'q' :
return (0);
break;

//il a appuyer sur a ???
case 'a':
logo_choix_a();
scanf("%s", buffer);
nouvelle_clef(buffer, clef);
printf("%s",clef);
printf("\nEntrez votre texte a crypter : ");
scanf("%s", acrypter);
un_cryptage(acrypter, clef);
getch();

break;
}
}

void logo_depart(void)
{
system("cls");
printf("////////////////////////////////////////////////////////////////////////////////");
printf("* Bienvenue dans CryptO -=R@ZoR=- !! *");
printf("* Faites votre choix ..... *");
printf("////////////////////////////////////////////////////////////////////////////////");

printf("\n\n\b a)Crypter un texte .");
printf("\n\b b)Crypter un fichier texte .");
printf("\n\b q)Quitter ...\n\n\b \b Votre choix : ");
}

void logo_choix_a(void)
{
system("cls");
printf("////////////////////////////////////////////////////////////////////////////////");
printf("* Bienvenue dans CryptO -=R@ZoR=- !! *");
printf("* Vous avez choisis de crypter un texte . *");
printf("////////////////////////////////////////////////////////////////////////////////");
printf("\nEntrer la cle de cryptage (sans espaces et majuscules): ");
}

void nouvelle_clef(char chaine[9999], char chaine2[9999])
{
char tampon[10];
char alphabet[]="abcdefghijklmnopqrstuvwxyz ";
int compteur = 0;
int compteurr = 0;

if(strlen(chaine) < 15)
{
printf("\nIl faut au minimum 15 caracteres !!");
exit(-1);
}
else
{
//enleve les espaces
for(compteur = 0; compteur <= strlen(chaine) ; compteur++)
{
tampon[1]=chaine[compteur];
if(tampon[1]!=' ')
{
chaine2[compteur]=tampon[1];
}
else
{
for(compteurr = compteur ; compteurr <= strlen(chaine); compteurr++)
{
chaine[compteurr]=chaine[compteurr+1];
}
compteur--;
}
}

//remplace les caracteres en double par un : 1
strcat(chaine2, alphabet);
for(compteur = 0; compteur <= strlen(chaine2); compteur++)
{
tampon[1]=chaine2[compteur];
for(compteurr = compteur + 1; compteurr <=strlen(chaine2); compteurr++)
{
if(tampon[1]==chaine2[compteurr])
{
chaine2[compteurr]='1';
}
}
}

//enleve les 1
for(compteur = 0; compteur <= strlen(chaine2) ; compteur++)
{
tampon[1]=chaine2[compteur];
if(tampon[1]!='1')
{
chaine2[compteur]=tampon[1];
}
else
{
for(compteurr = compteur ; compteurr <= strlen(chaine2); compteurr++)
{
chaine2[compteurr]=chaine2[compteurr+1];
}
compteur--;
}
}
}

}

void un_cryptage(char chaine[9999], char chaine2[9999])
{
int compteur;
for(compteur = 0; compteur <= strlen(chaine) ; compteur ++)
{
if(chaine[compteur]=='a')
{
chaine[compteur]=chaine2[0];
}

if(chaine[compteur]=='b')
{
chaine[compteur]=chaine2[1];
}

if(chaine[compteur]=='c')
{
chaine[compteur]=chaine2[2];
}

if(chaine[compteur]=='d')
{
chaine[compteur]=chaine2[3];
}

if(chaine[compteur]=='e')
{
chaine[compteur]=chaine2[4];
}

if(chaine[compteur]=='f')
{
chaine[compteur]=chaine2[5];
}

if(chaine[compteur]=='g')
{
chaine[compteur]=chaine2[6];
}

if(chaine[compteur]=='h')
{
chaine[compteur]=chaine2[7];
}

if(chaine[compteur]=='i')
{
chaine[compteur]=chaine2[8];
}

if(chaine[compteur]=='j')
{
chaine[compteur]=chaine2[9];
}

if(chaine[compteur]=='k')
{
chaine[compteur]=chaine2[10];
}

if(chaine[compteur]=='l')
{
chaine[compteur]=chaine2[11];
}

if(chaine[compteur]=='m')
{
chaine[compteur]=chaine2[12];
}

if(chaine[compteur]=='n')
{
chaine[compteur]=chaine2[13];
}

if(chaine[compteur]=='o')
{
chaine[compteur]=chaine2[14];
}

if(chaine[compteur]=='p')
{
chaine[compteur]=chaine2[15];
}

if(chaine[compteur]=='q')
{
chaine[compteur]=chaine2[16];
}

if(chaine[compteur]=='r')
{
chaine[compteur]=chaine2[17];
}

if(chaine[compteur]=='s')
{
chaine[compteur]=chaine2[18];
}

if(chaine[compteur]=='t')
{
chaine[compteur]=chaine2[19];
}

if(chaine[compteur]=='u')
{
chaine[compteur]=chaine2[20];
}

if(chaine[compteur]=='v')
{
chaine[compteur]=chaine2[21];
}

if(chaine[compteur]=='w')
{
chaine[compteur]=chaine2[22];
}

if(chaine[compteur]=='x')
{
chaine[compteur]=chaine2[23];
}

if(chaine[compteur]=='y')
{
chaine[compteur]=chaine2[24];
}

if(chaine[compteur]=='z')
{
chaine[compteur]=chaine2[25];
}

if(chaine[compteur] == ' ')
{
chaine[compteur]=chaine2[26];
}
}
printf("\nLe texte crypte est :\n%s",chaine);

}

Conclusion :


le seul probleme c'est que si vous mettez uune enorme cle (sans faire du Buffer Overflow !!) et que vous essayer de crypter : "laure" et bien defois sa ne marche pas !! il y a des lettre qui sont pareil !!

Si vous pouvez m'aider a resoudres mon probleme !! je suis prenant !!

Merci

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.