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 :

Convertir un tableau de byte en string [Débutant]


Sujet :

C#

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 252
    Points : 192
    Points
    192
    Par défaut Convertir un tableau de byte en string
    Bonjour à tous,
    Ma question peut sembler simple mais je n'arrive pas à convertir un tableau de byte en string.
    Je réalise un comparateur de fichier en wpf/c#.
    Dans ce cadre la, je souhaite avoir le hash du fichier, via la classe Ripemd160
    J'ai donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //Calcul du hash
                        byte[] result;
                        result = myRIPEMD160.ComputeHash(fileStream);
    Reste à avoir le result en string
    J'ai tenté un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    string hash = System.Text.Encoding.Unicode.GetString(result);
    Mais j'ai des caractères curieux au lieu d'avoir des nombres....
    Si quelqu'un à une idée

  2. #2
    Membre éprouvé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Points : 945
    Points
    945
    Par défaut
    Bonjour,

    Un hash est selon Wikipedia :

    On nomme fonction de hachage une fonction particulière qui, à partir d'une donnée fournie en entrée, calcule une empreinte servant à identifier rapidement, bien qu'incomplètement, la donnée initiale. Les fonctions de hachage sont utilisées en informatique et en cryptographie.
    En fait, tu calcules une empreinte à partir de ta donnée initiale. L'image, également tirée de wikipedia, explique bien ce principe :



    Si le message change, le hash change. Dans ton code, tu calcules un hash et tu essayes de retrouver le message (si j'ai bien compris ta ligne de code) à partir de celui ci et ce n'est pas possible (de cette manière tout du moins, sinon il faut voir du coté brute-force/dico/rainbow tables).

    Une manière de comparer tes fichiers serait de créer un hash des deux et de vérifier ensuite que les hashs soient égaux.

    J'espère avoir été clair et t'avoir aidé
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 99
    Points : 122
    Points
    122
    Par défaut
    Je pense qu'il cherche à convertir le hash en string hex ou base64 string.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    string r="";
    foreach(byte b in hash)
        r += b.ToString("x2");
     
    r = Convert.ToBase64String(hash);

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 252
    Points : 192
    Points
    192
    Par défaut
    Merci Realpasso, c'est exactement ça
    En fait, je n'ai pas expliqué dans le détail plus haut car ce n'était pas le propos.
    Je commence à parcourir les dossiers (et sous dossiers) pour rechercher tout les fichiers.
    Je crée ensuite un filestream
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FileStream fileStream = fInfo.Open(FileMode.Open);
    Et ensuite je calcule le hash de mon fichier, que j'enregistre dans un xml (tout ça c'est ok )
    Merci beaucoup !

  5. #5
    Membre éprouvé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Points : 945
    Points
    945
    Par défaut
    Au temps pour moi, j'ai mal compris

    Bonne soirée !
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.0] Convertir une cle primaire byte[] en string
    Par freddyboy dans le forum Accès aux données
    Réponses: 14
    Dernier message: 20/12/2010, 12h05
  2. convertir tableau de byte en String
    Par geek21 dans le forum Entrée/Sortie
    Réponses: 16
    Dernier message: 28/11/2007, 01h21
  3. conversion d'un tableau de bytes en string
    Par prady92 dans le forum VB.NET
    Réponses: 3
    Dernier message: 16/03/2007, 13h47
  4. [C#] Convertir un tableau de byte en Image
    Par goulhasch dans le forum ASP.NET
    Réponses: 4
    Dernier message: 24/01/2005, 10h12

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