Hallo Leute,
Ich bin gerade dabei einen Updater für mein Programm zu erstellen, dort nutze ich eine MD5 verschlüsselung.
Mein Problem ist jetzt, das der MD5 Creator ein anderen Wert als Programme wie z.B. WinMD5Free
Hier der Code, wo die MD5 erstellt wird.
Mit diesem Code, kommt z.B. die MD5 (fcc6df49d856c42262d0aeba505179d6) heraus.
Mit dem WinMD5Free kommt z.B. die MD5 (59be6536575fd1b65e21b59f03a85dcc) heraus.
Ich hoffe so sehr, dass mir hier jemand helfen kann.
Vielen Dank!
Dennis
Ich bin gerade dabei einen Updater für mein Programm zu erstellen, dort nutze ich eine MD5 verschlüsselung.
Mein Problem ist jetzt, das der MD5 Creator ein anderen Wert als Programme wie z.B. WinMD5Free
Hier der Code, wo die MD5 erstellt wird.
Code:
using System.IO;
using System.Security.Cryptography;
using System.Text;
namespace SharpUpdate
{
/// <summary>
/// The type of hash to create
/// </summary>
internal enum HashType
{
MD5,
SHA1,
SHA512
}
/// <summary>
/// Class used to generate hash sums of files
/// </summary>
internal static class Hasher
{
/// <summary>
/// Generate a hash sum of a file
/// </summary>
/// <param name="filePath">The file to hash</param>
/// <param name="algo">The Type of hash</param>
/// <returns>The computed hash</returns>
internal static string HashFile(string filePath, HashType algo)
{
switch (algo)
{
case HashType.MD5:
return MakeHashString(MD5.Create().ComputeHash(new FileStream(filePath, FileMode.Open)));
case HashType.SHA1:
return MakeHashString(SHA1.Create().ComputeHash(new FileStream(filePath, FileMode.Open)));
case HashType.SHA512:
return MakeHashString(SHA512.Create().ComputeHash(new FileStream(filePath, FileMode.Open)));
default:
return "";
}
}
/// <summary>
/// Converts byte[] to string
/// </summary>
/// <param name="hash">The hash to convert</param>
/// <returns>Hash as string</returns>
private static string MakeHashString(byte[] hash)
{
StringBuilder s = new StringBuilder(32);
foreach (byte b in hash)
s.Append(b.ToString("X2").ToLower());
return s.ToString();
}
}
}
Mit diesem Code, kommt z.B. die MD5 (fcc6df49d856c42262d0aeba505179d6) heraus.
Mit dem WinMD5Free kommt z.B. die MD5 (59be6536575fd1b65e21b59f03a85dcc) heraus.
Ich hoffe so sehr, dass mir hier jemand helfen kann.
Vielen Dank!
Dennis