Bonsoir tout le monde. Je sais que j'ai les yeux plus gros que le ventre mais je voudrais juste vous posez une petite question. En fait je voudrais savoir si en l'état d'avancement des tutos, il serait possible de réaliser un cryptage tout simple d'un texte? Merci d'avance
Oui et non. J'ai planché tout à l'heure sur un possible tp pour dans quelques chapitres sur un cryptage à décalage basé sur une clé mais... j'ai trouvé ça moi-même un peu compliqué et pas très joli.
Soit j'améliore et simplifie un peu à la fois (pas évident), soit j'abandonne l'idée de tp mais alors y risque de pas trop y avoir de tp dans la partie II (en revanche la partie III en sera remplie de toute manière).
Ah d'accord, et bien merci de m'avoir répondu. Je pensais que se serais peut-être pas mal a essayer même si je suis sur de pas réussir...
<hs> en passant je voulais te dire que j'ai vraiment de respect pour toi j'aimerais franchement avoir ton niveau et dire que je devrais être a Epitech a cette heure ... </hs>
9a serait pas possible de prendre toutes les du textes de les transformés en code ASCII, et ensuite, à ce code on prend un nombre quie à une série de calcule qui serait limiter entre 0 et 255, et enfin on remet le nouveau code en caractère tout beau ?
for(i=0;i<strlen(texte);i++)texte[i]=texte[i]*1.02; est marrant aussi, j'ai pas vraiment compris pourquoi mais le decriptage est avec un divise par 0.015, surement à cause des arrondis
De toute façon, y a des tonnes d'algo de cryptage, rien que pour la Table Ascii, faut essayer de mélanger chaine de caractères, Ascii et tableau.. Ca rend pas mal !
Je suis en train d'en faire un, je mettrais le code !
(pas sur que ça marche, mais bon.. Si ça marche ça doit faire un bon cryptage )
EDIT: Waw ça marche trop bien (Parfois il y a une lettre ou deux pas décryptées(EDIT: Désolé j'avais pas mis "dé") mais bon ) Faites soit le cryptage ou le decryptage pour crypter, et inversement pour decripter (le cryptage décripte le decryptage, et inversement)
EDIT: Voici main.c pour ceux qui veulent voir comment je fais:
int main(int argc, char *argv[]) { unsignedchar texte[100]; long choix = 0; printf("Tape un texte(100 caracteres max)\n(remplace les espaces par _(en dessous du chiffre 8)):");
scanf("%s",texte); printf("Tu veux crypter le texte(1), ou alors le crypter autrement(2) \nou le cryptage et apres le decryptage(3 ou 4)?");
scanf("%ld",&choix);
sleep(4000); if(choix == 1) {
cryptage(texte); printf("Cryptage en cours..\n\n");
sleep(2000); printf("Voici ton texte crypte:%s\n",texte); } elseif(choix == 2) {
decryptage(texte); printf("Decryptage en cours..");
sleep(2000); printf("Voici le texte decrypte:%s\n",texte); } elseif(choix == 3) {
cryptage(texte); printf("Cryptage:%s\n",texte);
decryptage(texte); printf("Decryptage:%s\n",texte); } else {
decryptage(texte); printf("Cryptage:%s\n",texte);
cryptage(texte); printf("Decryptage:%s\n",texte); }
system("PAUSE"); return0; }
EDIT: Plus aucuns bugs dans la fonction
EDIT: A si, tout compte fait.. Le Z devient ' ou " ".. Et d'autres lettres sont remplacées apres le decryptage du cryptage... Et encore plus de lettres pour le decryptage du cryptage numéro 2..
Je vais sûrement essayer quand même même si c'est pas le cryptage le plus infaillible lol, juste un truc tout simple voir si j'y arriverais merci. Merci beaucoup pour vos suggestions.
Ok, un cryptage qui.. Bah, qui augmente les numéros des lettres, qui les multiplie, qui les divise, et qui donne le tout! Lol! Mais crypter c'est pas le plus dur.. C'est décrypter le plus dur Faut faire exactement l'inverse, mais c'est hard, et parfois tu ne peux pas faire l'inverse lol
EDIT: Exemple de cryptage simple (mais pas de solution de décryptage)
void cryptage(unsignedchar texte[]) { long i; for(i = 0; i < strlen(texte); i ++)
texte[i] *= pow(i,texte[i]); /*ps: penser a inclure maths.h
pow(i,texte[i]) veut dire i puissance texte[i] ;-)
donc on crypte a fond ^_^ En fait, si le nombre depasse 255,
c'est pas grave! Parce que quand le nombre est égal a 255,
il redevient automatiquement égal a zéro :-) ! A 256,
il devient egal a 1, etc.. Donc pas grave si ça depasse
(sauf pour décrypter ^^)*/ }
Petit renseignement pour l'ignorant que je suis ... quel pourrait être l'interêt d'un cryptage undécryptable ??? Et pourquoi le nombre repasse-t-il a 0 quand il atteint 255 ??? Merci
A en fait on peut s'amuser a faire un faux cryptage
On demande d'entrer le texte, ensuite on crée une variable qui contiendra du texte aléatoire, et apres on réafiche l'ancien texte et en disant que ça crypte hyper bien (pareil pour decrypter ) et que le cryptage changera toujours
Edit: EXERCICE: Trouver fonction de decryptage, sachant que l'on crypte comme ceci:
void cryptage(unsignedchar texte[]) { long i; for(i = 0; i < strlen(texte); i++)
texte[i] += i; }
A en fait, il retourne a zéro parce que le maximum c'est 255 (pour un unsigned char), donc on ne peut plus aller plus loin et on retourne au minimum que peut contenir la variable (avec un unsigned c'est 0)mais aussi, quand on va en dessous de 0, il revient a 255, parce que 0 c'est le minimum (logique).
oui en gros il se prend en permanence un
if(variable > max)
variable = min + (variable - max);
elseif(variable < min)
variable = max - (min - variable);
dans la tête
EDIT: Si vous n'avez pas compris, oubliez tout de ce que je vous ai dit sur ce sujet
EDIT: A en fait j'ai réussi a savoir tout ça en tapant 2147483648 dans un long C'est égal a -2147483648, vous pouvez vérifier
Réaliser un programme de cryptage ?
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
If you'd like to join us, read "How do we work at OpenClassrooms"! :)