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 :

[C#2.0] Calcul d'une somme MD5 en plusieurs fois


Sujet :

C#

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 824
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 824
    Points : 1 544
    Points
    1 544
    Par défaut [C#2.0] Calcul d'une somme MD5 en plusieurs fois
    Bonjour à tous,

    Je voudrai connaître la somme MD5 d'une partie d'un fichier.
    Le soucis c'est que ça peu être une très grosse partie de ce fichier, donc il faut le lire en plusieurs fois.

    J'ai trouvé une DLL qui permet de faire ça. En fait, on l'initialise, on lui donne des tableaux d'octet, un par un, et il additionne les sommes. Et à la fin, on a la somme totale.

    En C#, j'utilise MD5CryptoServiceProvider qui lui calcul à partir d'un tableau d'octets ou d'un stream. Le stream, si je ne veux pas le lire du début à la fin mais juste la moitié... c'est pas la peine, et le tableau d'octet ça me paraît plus plausible mais je vais me retrouver avec plusieurs sommes MD5, reste à pouvoir les cumuler...

    Vous avez une idée?

    Merci beaucoup,

    A bientôt

  2. #2
    Membre éclairé
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Points : 776
    Points
    776
    Par défaut
    MD5 n'est pas "cummulable" comme tu dis.
    Si tu veux un hachage MD5 d'une partie tu devras lui fournir tous les octets d'un coup. Pas en plusieurs fois.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 824
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 824
    Points : 1 544
    Points
    1 544
    Par défaut
    Bah ma DLL en VB permet de la calculer en plusieur fois.

    Et heureusement, car imagine un gros fichiers de plusieurs giga, tu peux pas la calculer en une seule fois, parceque t'aura pas assez de mémoire pour tout charger dans un tableau de byte...

    En C#, l'objet prend soit un tableau de byte, soit un stream. Sauf que lorsque l'on donne le stream, il calcul la somme du début à la fin sans proposer de s'arrêter à un endroit précis. Alors pour calculer la somme d'une partie d'un fichier, je lit un FileStream pour placer les données dans un MemoryStream (en plusieurs fois bien evidemment), et là je peux m'arrêter où je veux. Et je donne le MemoryStream à l'objet MD5 de C#... Mais là les sommes diffèrent...

    J'ai done à la place du MemoryStream, placé les données dans un autre FileStream, pour comparer le résultat. Les fichiers sont alors les même, mais les sommes diffèrent aussi.

    Mon plan de test:
    Un fichier texte sur le serveur qui contient le texte "test"
    Un fichier test sur le client qui contient le texte "te".
    Je cherche à savoir si je peux continuer de télécharger le fichier du serveur.

    Lors de mon traitement, j'enregistre le nouveau FileStream créé à partir du fichier sur le serveur en ne lisant que le nombre de données indiqué par le client, c'est à dire 2. Le fichier créé contient bien le texte "te", mais les sommes diffèrent malgrès tout alors que les données des deux fichiers qui sont comparés sont les mêmes...

    Merci

Discussions similaires

  1. Calcul d'une somme cumulée selon plusieurs conditions
    Par Lorinlo dans le forum SAS Base
    Réponses: 0
    Dernier message: 02/12/2013, 11h16
  2. [Excel] Calcul d'une somme sous condition
    Par netsabes dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/08/2006, 16h09
  3. Calcul d'une somme dans Excel ??
    Par LaVaZza dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 13/06/2006, 22h55
  4. [TCP/IP][CRC] Calcul d'une somme XOR
    Par cyrdec dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 29/05/2006, 17h42
  5. access : calcul d'une somme de 0 sans valeur par défaut
    Par ericbelgium dans le forum Access
    Réponses: 6
    Dernier message: 06/10/2005, 09h05

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