Cryptage.. en c
Résolu
Naimor49
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
-
Naimor49 Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
Naimor49 Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
Je cherche à réaliser une fonction de cryptage à l'aide d'une clef de la même longueur que mon message, grace au code ASCII.
Or ma fonction ne fonctionne pas... une idée ? Je ne suis pas loin ... mais ça ne marche pas parfaitement
C'est une fonction de cryptage assez classique
Je cherche à réaliser une fonction de cryptage à l'aide d'une clef de la même longueur que mon message, grace au code ASCII.
Or ma fonction ne fonctionne pas... une idée ? Je ne suis pas loin ... mais ça ne marche pas parfaitement
#include <stdio.h> #include <stdlib.h> #include <string.h> #define DEBUT 97 #define N 3 int main(void){ int i; char message_let[N], clef_let[N], code_let[N]; int message_chif[N], clef_chif[N], code_chif[N]; printf ("Saisissez tout d'abord votre message a coder de %d caractères :",N); scanf("%s",message_let); printf("Saisissez à présent la clef :"); scanf("%s",clef_let); printf("Merci... "); printf(" \n Votre message chiffre est :"); for (i=0;i<N;i++){ message_chif[i]=(int)message_let[i]; printf("%d.",message_chif[i]); } printf("\nVotre code chiffre est :"); for (i=0;i<N;i++){ clef_chif[i]=(int)clef_let[i]; printf("%d.",code_chif[i]); } for(i=0;i<N;i++){ code_chif[i]=message_chif[i]+clef_chif[i]; code_chif[i]=code_chif[i]%DEBUT; code_chif[i]=code_chif[i]+DEBUT; } for(i=0;i<N;i++){ code_let[i]=(char)code_chif[i]; } printf("\nVotre message code est donc :"); for(i=0;i<N;i++){ printf ("%c",code_let[i]); } return (0); }
C'est une fonction de cryptage assez classique
A voir également:
- Cryptage.. en c
- Cryptage en cours caméra ✓ - Forum Caméra
- Programme de cryptage hellobox - Forum Réseaux sociaux
- Cle de cryptage tv panasonic - Forum Réseau
- Comment je configure ma télévision Panasonic a mon wifi - Forum Téléviseurs
- Impossible de connecter ma télé Panasonic viera ✓ - Forum Téléviseurs
3 réponses
Bonjour,
Pourquoi un N aussi petit ?
D'autant que : scanf("%s",message_let);
Si tu rentres une chaîne de plus que 2 caractères, ça risque de planter.
Tu peux mettre N à 255 sans problème.
Et pour info, cryptage ça n'existe pas. On parle de chiffrement ;-).
for(i=0;i<N;i++){
printf ("%c",code_let[i]);
Il ne faut pas oublier de mettre un putchar('\n'); avant le return 0; final pour forcer l'affichage.
Sinon, tout simplement : puts(code_let); ou printf("%s\n",code_let);
Plutôt que mettre des chiffres comme 97, autant mettre directement la valeur correspondante entre apostrophes. C'est beaucoup plus lisible.
Sinon, qu'est-ce qui ne marche pas ?
Cdlt,
Pourquoi un N aussi petit ?
D'autant que : scanf("%s",message_let);
Si tu rentres une chaîne de plus que 2 caractères, ça risque de planter.
Tu peux mettre N à 255 sans problème.
Et pour info, cryptage ça n'existe pas. On parle de chiffrement ;-).
for(i=0;i<N;i++){
printf ("%c",code_let[i]);
Il ne faut pas oublier de mettre un putchar('\n'); avant le return 0; final pour forcer l'affichage.
Sinon, tout simplement : puts(code_let); ou printf("%s\n",code_let);
Plutôt que mettre des chiffres comme 97, autant mettre directement la valeur correspondante entre apostrophes. C'est beaucoup plus lisible.
Sinon, qu'est-ce qui ne marche pas ?
Cdlt,