Crypter/decrypter simplement une image

cool2source Messages postés 15 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 24 novembre 2010 - 24 nov. 2010 à 06:32
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 - 25 nov. 2010 à 10:07
Bonjour,

Je veux faire un programme qui "crypte" un fichier ( texte, image... ).
Dans mon programme, je fais un fread du fichier à copier et ensuite un fwrite du fichier résultant du cryptage du premier.

while ( (taille = fread(buffer, 1, 512, f_origine)) != 0 )
{
. count=0;
. while(buffer[count] != EOF && count<taille))
. {
.. buffer[count]=buffer[count]+1;
.. count++;
. }
. fwrite(buffer, 1, taille, f_copie);
}
j'ajoute à chaque octet +1. (buffer[count]+1)
Pour les fichiers texte, ca se passe bien. Au moment de faire
l'inverse (buffer[count]-1), j'obtiens le fichier d'origine.
Le probleme, c'est que ca ne semble pas fonctionner sur les autres fichiers.
Qu'ai-je oublié de prendre en compte ?
(ps : comment fait-on pour bien mettre en page les passages de code ? )
A voir également:

2 réponses

cptpingu Messages postés 3840 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 23 août 2024 126
24 nov. 2010 à 10:43
crypter/decrypter => chiffrer/déchiffrer
cryptage => chiffrement
décryptage => déchiffrement

Tu peux utiliser la balise [code=cpp] ton code [ /code] (sans l'espace avant /code).

1) Pourrais-tu donner le morceau de code entier qui fait cela ? (ou un morceau indépendant qui compile). Je pourrais ainsi jeter un coup d'oeil.
2) Plutot que de copier le fichier, tu peux aussi agir directement dessus, via "mmap()" (Linux) ou "GetMapViewOfFile" (Windows). Mais si tu es débutant et que tu fais ce petit projet juste pour découvrir le C, oublie cette idée pour l'instant.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
1