Bjr
vous pouvez m aider a faire un petit programme qui fait le cryptage. C a d si je me tape une phrase il le transforme a une autre phrase pour qu elle ne soit pas comprehensible. en d autre terme si j ecrit A elle sera remplace par N ....
merci
Version imprimable
Bjr
vous pouvez m aider a faire un petit programme qui fait le cryptage. C a d si je me tape une phrase il le transforme a une autre phrase pour qu elle ne soit pas comprehensible. en d autre terme si j ecrit A elle sera remplace par N ....
merci
tu peux faire un truc de ce genre:
avecCode:
1
2
3
4
5
6
7
8
9
10 i=0; c=1; while (i <strlen(text)) { text2[i]=c^text[i]; c++; i++; }
text - > le texte que tu désires coder
text2 - > texte codé
Salut !
Il faudera d'abord que tu cherche l'algorithm de cryptage,y en a vraiment beaucoups,des plus simples au plus compliqués !
C'est aprés que vient l'implémentation ;)
Bonne chance !
Pour pouvoir décoder ça, tu as intérêt à donner une valeur connue à c avant la boucle et à utiliser le même jeu de caractères...Citation:
Envoyé par je®ome
ATTENTION, si tu tombes sur un caractère égal à c, la chaîne est tronquée.
Ensuite, il ne faut plus faire confiance à strlen(), mais à la taille "d'avant"...
Ou bien, faire un cas spécial où l'on ne fait pas le XOR quand on tombe sur le même caractère... (Là, seul le zéro terminal ne peut pas être crypté, et tant mieux: Qu'il reste le zéro terminal).
Bonjour!
Je te propose un algorithme tout simple:
On utilise une table de codage constituée des 26 lettres majuscules de l’alphabet placées dans un ordre aléatoire.
Dans le texte, le caractère ‘A’ (ou ‘a’) sera remplacé par la 1ère lettre de la table, le caractère ‘B’ (ou ‘b’) par la 2ème, etc…
Fonction de création de la table de codage:
Fonction de codage d'une chaine de longueur max. DIM et de taille reelle nbelemCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 void creat_table_code(char table_code[27]) { int i,j,k; time_t t; char *alphabet="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; /* initialisation du generateur aleatoire a partir de l'heure */ srand((unsigned)time(&t)); /* creation de la table de codage */ /* des qu'une lettre de l'alphabet est tiree, on la supprime afin de ne pas avoir 2 fois la meme dans la table */ for (i=26;i>0;i--) { k=rand()%i; table_code[i-1]=alphabet[k]; for (j=k;j<i;j++) alphabet[j]=alphabet[j+1]; } }
Fonction de decodageCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 void codage(int nbelem, char tab[DIM], char table_code[27]) { int i,tmp; /* on utilise la valeur ascii des lettres pour determiner l'indice de la lettre correspondant dans la table de codage exemples: 'A'%'A' = 0, 'B'%'A' = 1, etc... */ for (i=0;i<nbelem;i++) { tmp=toupper(tab[i]); if ((tmp>='A')&&(tmp<='Z')) tab[i]= table_code[tmp%'A']; } }
J'espère que ça t'ira, je n'ai que ça dans mes cartons!!!Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 void decodage(int nbelem, char tab[DIM], char table_code[27]) { int i,j; for (i=0;i<nbelem;i++) { /* pour chaque lettre codee, on cherche son indice dans la table de codage et on y ajoute la valeur de 'A' pour la decoder */ if ((tab[i]>='A')&&(tab[i]<='Z')) { for (j=0; table_code[j]!=tab[i];j++); /* boucle for "vide" !!! */ tab[i] = j + 'A'; } } }
Bonjour,
renseigne toi un petit peu sur la cryptographie, cela te donnera une idée de la sécurité et donc de l'algorithme que tu souhaites implémenter.
Moi j'avais fait un programme pour convertir les phrases francaises en Al-Bheds (et inversement). Pour ceux qui savent pas ce que c'est, c'est tant pis pour eux. :aie: :aie:
[hs] C'est pas dans FF ? [/hs]Citation:
Envoyé par Skyrunner
[HS]Citation:
Envoyé par Jack_serious
Si :lol: :lol: :lol:
[/HS]
bjr
j aime faire un cryptage simple qui consiste
- Ecrire le message a crypter puis remplacer les lettres par des autres ( par exemple on remplace A par E, C par D, K par F,....)
donc si j ecrit une mot elle sera remplacer par une autre selon l affectation des lettres. J ai commancé un peu pour le programme mais je n ai pas connu comment je peut faire le cryptage vous pouvez m aider a le completer merci
1. #include <stdio.h>
2. #include <conio.h>
3.
4. void crypte(void);
5. void decrypte(void);
6.
7. int main(int argc, char *argv[]) {
8. printf("** Petit exemple de cryptage avec cle **\n" );
9. printf("[1] pour crypter / [2] pour decrypter : " );
10. int action;
11. scanf("%d", &action);
12. if (action == 1) {
13. crypte();
14. } else {
15. decrypte();
16. }
17. return 0;
18. }
19.
20. void crypte() {
21. printf("\n================================================================================\n" );
22. printf("Entrez le message a crypter :" );
23. char message[256];
24. scanf("%s", &message);
25. printf("\n================================================================================\n" );
26. printf("Entrez maintenant la cle de cryptage (autant de chiffres que vous voulez) :\n" );
27. int cle;
28. scanf ("%d", &cle);
29. int i;
....
:tagcode:
perso, c'est l'un des premiers systèmes créés, et si tu connais la langue, avec un peu de stats tu retrouves la permutation... (exemple le e en français)
ok je vais plus preciser et expliquer ma demande
j aime faire un programme de cryptage qui consista à opérer non avec un décalage systématique, mais par une substitution aléatoire. Pour cela, on utilise un alphabet-clé, dans lequel les lettres se succèdent de manière désordonnée, par exemple :
HYLUJPVREAKBNDOFSQZCWMGITX
C’est cette clé qui va servir ensuite à coder le message. Selon notre exemple, les A deviendront des H, les B des Y, les C des L, etc.
Vous pouvez m aider a faire un programme qui effectue ce cryptage (l’alphabet-clé sera saisi par l’utilisateur, et on suppose qu'il effectue une saisie correcte). J ai commance un peu mais je n ai pas pu faire le cryptage
c'était bien cela que j'avais compris...
mais comme je te l'ai expliqué, cette méthode est désormais connue, et des techniques éprouvées pour la casser sont fournis dans presque tous les cours de crypto ;)
Nous ne sommes pas là pour faire ton travail. Si tu as des questions de niveau algorithmique, il y a un forum dédié et si tu as des problèmes de programmation en C, c'est ici.Citation:
Vous pouvez m aider a faire un programme qui effectue ce cryptage (l’alphabet-clé sera saisi par l’utilisateur, et on suppose qu'il effectue une saisie correcte). J ai commance un peu mais je n ai pas pu faire le cryptage
Commence le travail, montre où tu bloques et tu trouveras des réponses...
Jc