using System.Security.Cryptography;
// MD5 Hashsumme zu "Teststring1" erstellen
string sStringtoHash = "Teststring1";
string sOutPut = Convert.ToBase64String(new MD5CryptoServiceProvider().ComputeHash(Encoding.ASCII.GetBytes(sStringtoHash)));
using System.IO;
using System.Security.Cryptography;
private void Form1_Load(object sender, EventArgs e)
{
// MD5 Hash eines Strings erstellen
string sHash1 = MD5String("Hello World!");
// MD5 Hash einer Datei erstellen
string sHash2 = MD5File("c:\\Testtext.txt");
}
// Funktion zum erzeugen eines MD5 Hashes aus einem String
private string MD5String(string sInput)
{
// String in Byte-Array wandeln und hashen und wieder in String konvertieren
return ByteArrayToHexString(MD5Hash(Encoding.Default.GetBytes(sInput)));
}
// Funktion zum erzeugen eines MD5 Hashes aus einer Datei
private string MD5File(string sFileName)
{
string sHash = "";
// Filestream öffnen
FileStream fsInput = new FileStream(sFileName, FileMode.Open, FileAccess.Read);
// Leseobjekt erzeugen
BinaryReader br = new BinaryReader(fsInput);
// alle Bytes aus der Datei (Stream) lesen, hashen und wieder in String konvertieren
sHash = ByteArrayToHexString(MD5Hash(br.ReadBytes((int)fsInput.Length)));
fsInput.Close();
fsInput.Dispose();
return sHash;
}
// allg. MD5 Hash Funktion
private byte[] MD5Hash(byte[] byaInput)
{
// MD5 Objekt erzeugen und Hash aus Byte-Array berechnen
return MD5.Create().ComputeHash(byaInput);
}
// Konvertierungsfunktion um ein Byte-Array in einen String zu wandeln
private string ByteArrayToHexString(byte[] byaInput)
{
string sRetStr = "";
// schrittweise Byte-.Array durchlaufen und Inhalt in einen String konvertieren
for (int i = 0; i < byaInput.Length; i++)
{
sRetStr += byaInput[i].ToString("x2");
}
return sRetStr;
}