Crypt-decrypt avec xor

0/5 (17 avis)

Snippet vu 6 409 fois - Téléchargée 36 fois

Contenu du snippet

ba le titre est assez clair...

Source / Exemple :


#include <iostream.h>
#include <stdio.h>
#include <conio.c>

/*############################################################################*/

int crypt()
{
char mot[999];
char crypt[999];
int cle;

    clrscr();

     cout << "mot a crypter : ";
     gets(mot);
     cout << "cle numerique : ";
     cin >> cle;

     for(int n=0;n<strlen(mot);n++)
     {
     crypt[n] = mot[n] ^ cle;
     }

     cout << crypt;
}

/*############################################################################*/

int decrypt()
{
char motc[999];
char decrypt[999];
int cle2;

    clrscr();

     cout << "mot : ";
     gets(motc);
     cout << "cle numerique : ";
     cin >> cle2;

     for(int n=0;n<strlen(motc);n++)
     {
     decrypt[n] = motc[n] ^ cle2;
     }

     cout << decrypt;
}

/*############################################################################*/

int main()
{
int choix;

    cout << "1.Crypter\n2.Decrypter\n";
    cin >> choix;

    switch(choix)
    {
     case 1:
     crypt();
     break;

     case 2:
     decrypt();
     break;

     default:
     exit(0);
     break;
    }

getchar();
}

Conclusion :


Sou DevC++

A voir également

Ajouter un commentaire Commentaires
D1m3x
Messages postés
402
Date d'inscription
samedi 28 décembre 2002
Statut
Membre
Dernière intervention
21 juillet 2005
1
4 mai 2003 à 20:53
Euh je vois pas pk tu met: char char mot[999];
le maximum de lettre d'un char étant de 256 ça ne te sert strictement à rien!
cs_GoldenEye
Messages postés
527
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
6 octobre 2008
4
16 avril 2003 à 23:23
Laisse à l'user le soin de choisir la clé
soseki
Messages postés
3
Date d'inscription
vendredi 11 octobre 2002
Statut
Membre
Dernière intervention
16 avril 2003

16 avril 2003 à 22:28
C juste pour qu'il est une valeur, on peut mettre ce que l'on veut.
ça changera l'apparence du contenu du fichier crypté.
!!!!Le code que j'ai mis est faux :
il faut mettre des 1 à la place des 2 au niveau du while et du fwrite !!!!
désolé
cs_GoldenEye
Messages postés
527
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
6 octobre 2008
4
16 avril 2003 à 19:03
pourquoi CLE est égal à 57 ? :-))
soseki
Messages postés
3
Date d'inscription
vendredi 11 octobre 2002
Statut
Membre
Dernière intervention
16 avril 2003

16 avril 2003 à 16:23
Pour le cryptage XOR, je crois que cela suffit non ?:

/* cryptage XOR */

#include <stdio.h>
#define CLE 57

void main(int argc, char**argv)
{
FILE *In,*Out;
unsigned char byte;


if (argc != 3)
{
printf("
Usage : %s <fichier source> <fichier destination>
",argv[0]);
exit(0);
}


if ((In = fopen(argv[1], "rb+"))== NULL)
{
printf("Fichier %s introuvable!
",argv[1]);
exit(-1);
}

if ((Out = fopen(argv[2], "wb+" ))== NULL)
{
printf("Fichier %s imppossible à créer
",argv[2]);
fclose(In);
exit(-1);
}

while (fread(&byte,2,2,In))
{
byte ^=CLE;
fwrite(&byte,2,2,Out);
}
fclose(In);
fclose(Out);
}
Afficher les 17 commentaires

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.