2016-05-07 4 views
-3

Ich versuche, eine Datei MD5-Hash zu generieren.Dateien generieren MD5 Hash On Button Klicken Sie auf C# .NET

Im Wesentlichen wie es funktionieren sollte.

Ich drücke eine Browse-Taste auf meiner Software zu durchsuchen, welche Datei ich will tos kann> ich wählen Sie die Datei, die ich scannen möchten> und zeigt den MD5-Hash zu einem Label

hier ist ein visuelles Beispiel dafür, was Ich versuche es zu erreichen.

Meine Frage ist, wie greife ich den MD5-Hash, ich habe noch nie einen Code gesehen, der MD5-Hashes aus einer Datei ergreift, also habe ich keine Ahnung, wie es gemacht werden soll.

enter image description here

+0

haben Sie diesen Link versucht: http://stackoverflow.com/questions/10520048/calculate-md5-checksum-for-a-file – Robert

+0

Ja, ich, dass man sah, und um ehrlich zu sein, es sieht toll aus aber ich habe keine Ahnung, wie ich das für meine Software verwenden soll. Wenn du weißt, wie ich vorbeigehen würde, würde ich gerne eine Erklärung haben :-) –

+2

Und mit Erklärung meinst du "Kann mir bitte jemand das für mich programmieren?", Denn dieses Beispiel kann nicht klarer sein. Sie müssen nur den Dateipfad von einem "OpenFileDialog" abrufen, der vom Klick-Ereignis "Datei durchsuchen" ausgelöst wird. Sobald eine Datei ausgewählt wurde, übergeben Sie diesen Pfad an die ComputeHash-Methode. – TEK

Antwort

0

Versuchen Sie, diese für Windows Forms und ändern Sie es für Ihre Bedürfnisse:

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
     openFileDialog1.FileOk += OpenFileDialog1_FileOk; 
    } 

    private void OpenFileDialog1_FileOk(object sender, CancelEventArgs e) 
    { 
     string path = ((OpenFileDialog)sender).FileName; 
     using (var md5 = MD5.Create()) 
     { 
      using (var stream = File.OpenRead(path)) 
      { 
       label1.Text = BitConverter.ToString(md5.ComputeHash(stream)).Replace("-", ""); 
      } 
     } 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     //show file dialog on form load 
     openFileDialog1.ShowDialog(); 
    } 
} 

Es ist eine Kombination von Calculate MD5 checksum for a file und How to convert an MD5 hash to a string and use it as a file name

+0

Ich werde diesen Code übersehen und sehen, was ich tun kann, um etwas Ähnliches zu machen, aber doch anders! Wir kommen bald wieder! –

0

Dies ist, was am Ende funktionierte!

public string MD5HashFile(string fn) 
{ 
    byte[] hash = MD5.Create().ComputeHash(File.ReadAllBytes(fn)); 
    return BitConverter.ToString(hash).Replace("-", ""); 

} 

private void lblTitle_Load(object sender, EventArgs e) 
{ 

} 



private void scanButton_Click(object sender, EventArgs e) 
{ 

    //Create a path to the textBox that holds the value of the file that is going to be scanned 
    string path = txtFilePath.Text; 

    //if there is something in the textbox to scan we need to make sure that its doing it. 
    if (!File.Exists(path)) 
    { 
          // ... report problem to user. 
     return; 

    } 
    else 
    { 
     MessageBox.Show("Scan Complete"); 
    } 

    //Display the computed MD5 Hash in the path we declared earlier 
    hashDisplay.Text = MD5HashFile(path); 


}