IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Calcul d'empreinte MD5


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 122
    Par défaut Calcul d'empreinte MD5
    Bonjour,

    J'ai transféré de fichier en binaire un web service afin de faire un transfère de fichier, l'empreinte du fichier émis et reçu n'est pas la même, est ce que c'est normale? merci d'avance de votre aide.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Blunt Voir le message
    J'ai transféré de fichier en binaire un web service afin de faire un transfère de fichier
    Hein ?
    Tu transfères un fichier afin de faire un transfert de fichier ? Désolé mais ça veut rien dire... Enfin si, mais c'est comme si tu disais "je parle pour parler"...

    Citation Envoyé par Blunt Voir le message
    l'empreinte du fichier émis et reçu n'est pas la même, est ce que c'est normale?
    Bah non, c'est pas normal... ça veut dire que les fichiers émis et reçus sont différents

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 122
    Par défaut
    Désolé, si je suis pas assez claire, je pense que j'ai trouvé ou vient le problème, ci dessous le code que j'utilise dans le web servie afin de générer le fichier à partir du binaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    StreamWriter Fichier = new StreamWriter(@"C:\spool\2\" + file.Name);
                     Fichier.Close();
     
    using (FileStream fsv = new FileStream(@"C:\spool\2\" + file.Name, FileMode.Open, FileAccess.ReadWrite, FileShare.Read))
                     {
                         fsv.Seek(512, SeekOrigin.Begin);
                         fsv.Write(ImageData, 0, ImageData.Length);
                     }
    Je spécifie par défaut l'offset à 512, je remarque que si je change d'offset l'empreinte du fichier généré change, je ne comprends pas trop, merci d'avance de votre aide.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    pourquoi tu ajoutes un offset de 512 ?

    Pour écrire un tableau d'octets dans un fichier binaire, tu peux faire comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File.WriteAllBytes(@"C:\spool\2\" + file.Name, ImageData);

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 122
    Par défaut
    Je viens de faire un test avec le code que tu viens de donner et malheureusement le fichier en sorti ne veut pas s'ouvrir, je tiens à préciser que je génère le fichier en binaire comme suite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     FileStream fs = new FileStream(file.FullName, FileMode.Open, FileAccess.Read);
                     byte[] ImageData = new byte[fs.Length];
    et par la suite j'envoi à mon web service le tableau de byte afin de régénérer le fichier, merci d'avance.

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Désolé mais je comprends rien à ton histoire...

    Tu as un fichier local que tu envoies à ton webservice sous forme de tableau de byte, c'est bien ça ? Pourquoi tu utilises pas File.ReadAllBytes et File.WriteAllBytes ? Et à quoi sert cet offset de 512 qui n'a pas l'air d'avoir beaucoup de sens ?

Discussions similaires

  1. Calculer des hash md5 ou base64 de chaines de texte
    Par fanfouer dans le forum Langage
    Réponses: 7
    Dernier message: 16/02/2013, 14h44
  2. Calculer le hachage md5 d'une chaine de caractères
    Par Longrais dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 20/03/2012, 12h55
  3. Fichiers corrompus, empreintes MD5 et prise de tête!
    Par mielou dans le forum Windows XP
    Réponses: 8
    Dernier message: 08/09/2011, 18h40
  4. obtenir l'empreinte MD5 d'un fichier
    Par HRS dans le forum Langage
    Réponses: 2
    Dernier message: 05/05/2011, 11h50
  5. Choix et calcul CRC, checksum,md5
    Par mercure07 dans le forum C++
    Réponses: 1
    Dernier message: 22/04/2008, 15h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo