Fichier corrompus [Résolu]

craftsystem 146 Messages postés samedi 21 juillet 2007Date d'inscription 7 mars 2009 Dernière intervention - 21 sept. 2007 à 13:15 - Dernière réponse : f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention
- 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é
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention - 21 sept. 2007 à 17:07
3
Merci
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;

Merci f0xi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 73 internautes ce mois-ci

Commenter la réponse de f0xi
f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention - 21 sept. 2007 à 13:20
0
Merci
Cesar pour crypter de l'audio hein ?
c'est non seulement inutile, mais pas forcement adapté.

comment crypte tu et decrypte tu le fichier ?
Commenter la réponse de f0xi
craftsystem 146 Messages postés samedi 21 juillet 2007Date d'inscription 7 mars 2009 Dernière intervention - 21 sept. 2007 à 13:23
0
Merci
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é
Commenter la réponse de craftsystem
craftsystem 146 Messages postés samedi 21 juillet 2007Date d'inscription 7 mars 2009 Dernière intervention - 21 sept. 2007 à 17:15
0
Merci
Merci
j'été justement en trin de regarder la source de
Romano58

La Force 2 La Mao C Sa Diversité
Commenter la réponse de craftsystem
craftsystem 146 Messages postés samedi 21 juillet 2007Date d'inscription 7 mars 2009 Dernière intervention - 21 sept. 2007 à 17:43
0
Merci
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é
Commenter la réponse de craftsystem
craftsystem 146 Messages postés samedi 21 juillet 2007Date d'inscription 7 mars 2009 Dernière intervention - 21 sept. 2007 à 17:58
0
Merci
C'est bon
avec un peu de perseverence
je te remercie beaucoup

La Force 2 La Mao C Sa Diversité
Commenter la réponse de craftsystem
f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention - 21 sept. 2007 à 21:33
0
Merci
const
  XorKey = '';

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

ça passera mieux  comme ça
Commenter la réponse de f0xi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.