Fichier corrompus

Résolu
craftsystem Messages postés 143 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 7 mars 2009 - 21 sept. 2007 à 13:15
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 - 21 sept. 2007 à 21:33
Salut a tous

Voilà...j'ai un petit souci
je suis en train de me faire un petit lecteur audio vraiment tous simple
mais je voulais rajouter une fonction de cryptage décryptage sur un fichier audio

le problème c'est que le fichier se crypt bien mais après le décryptage il et toujour corrompus
après une comparaison des fichier: Original <-> Traité il n'y a pas de différence
je ne comprend pas.

j'ai utilisé une methode caesar pour crypter

La Force 2 La Mao C Sa Diversité

6 réponses

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
21 sept. 2007 à 17:07
je me doutais bien d'un truc comme ça.

deja, tu ne peu pas ouvrir du binaire dans un richedit. c'est mal!

tu doit utiliser les streams, ho pas d'inquietude les streams sont trés simple a utiliser.

exemple de chiffrement XOR :

{ Effectue un codage simple avec XOR, la fonction s'utilise aussi bien 
  pour chiffrer que dechiffrer.
 
  params :
  InFileName  [I] nom du fichier a chiffrer/dechiffrer
  OutFileName [I] nom du fichier chiffré ou dechiffré
  Key         [I] clef d'encodage (chaine non nulle)
}
procedure XorCypher(const InFileName, OutFileName, Key : string);
var InFlux, OutFlux : TFileStream;
    Buffer : byte;
    pKey : PChar;
    M, KeyL, KeyP : integer;

    function GetNextKey : byte;
    begin
      result := byte( pKey[KeyP] );
      KeyP := (KeyP + 1) mod KeyL;
    end;

begin
  KeyL := Length(Key);
  KeyP := 0;
  pKey := PChar(Key);

  InFlux := TFileStream.Create(InFileName, fmOpenRead);
  try

    OutFlux := TFileStream.Create(OutFileName, fmCreate);
    try

      for M := 0 to InFlux.Size-1 do
      begin
        InFlux.ReadBuffer(Buffer, 1); // on lit
        Buffer := Buffer xor GetNextKey; // on code
        OutFlux.WriteBuffer(Buffer, 1); // on ecrit
      end;

    finally
      OutFlux.Free;
    end;

  finally
    InFlux.Free;
  end;
end;
3
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
21 sept. 2007 à 13:20
Cesar pour crypter de l'audio hein ?
c'est non seulement inutile, mais pas forcement adapté.

comment crypte tu et decrypte tu le fichier ?
0
craftsystem Messages postés 143 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 7 mars 2009
21 sept. 2007 à 13:23
je me douter qu'il ne fallait pas simplement toucher au string

je procede comme ça:
-j'ouvre un fichier audio dans un richedit
-je décale tous les string de 3 charactère
-puis une fois le traitement effectuer il se sauvegarde

La Force 2 La Mao C Sa Diversité
0
craftsystem Messages postés 143 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 7 mars 2009
21 sept. 2007 à 17:43
j'ai mis Key:= '33';
il me met
la partie gauche n'est pas affectable
car je voulais faire une clé défini

La Force 2 La Mao C Sa Diversité
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
craftsystem Messages postés 143 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 7 mars 2009
21 sept. 2007 à 17:58
C'est bon
avec un peu de perseverence
je te remercie beaucoup

La Force 2 La Mao C Sa Diversité
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
21 sept. 2007 à 21:33
const
  XorKey = '';

procedure ... ( ...; const Key : string = XorKey);

ça passera mieux  comme ça
0
Rejoignez-nous