UltimateZoneBuilder/Source/Core/General/MD5Hash.cs

31 lines
765 B
C#

using System.IO;
using System.Security.Cryptography;
using System.Text;
namespace CodeImp.DoomBuilder
{
public static class MD5Hash
{
private static MD5 hasher = MD5.Create();
public static string Get(Stream stream)
{
// Rewind the stream
stream.Position = 0;
// Check hash
byte[] data = hasher.ComputeHash(stream);
// Rewind the stream again...
stream.Position = 0;
// Create a new Stringbuilder to collect the bytes and create a string.
StringBuilder hash = new StringBuilder();
// Loop through each byte of the hashed data and format each one as a hexadecimal string.
for(int i = 0; i < data.Length; i++) hash.Append(data[i].ToString("x2"));
return hash.ToString();
}
}
}