MD5 (англ. Message Digest 5) — 128-битный алгоритм хеширования. На примере будет показано как получить хеш файла или строки.
Необходимо добавить пространства имен System.Security.Cryptography, System.IO в директиву using.
Возвращает MD5 хеш файла.
private string ComputeFilesMD5(string path)
{using (FileStream fs = File.OpenRead(path))
{
MD5 md5 = new MD5CryptoServiceProvider();
byte[] filebytes = new byte[fs.Length];
fs.Read(filebytes, 0, (int)fs.Length);
byte[] Sum = md5.ComputeHash(filebytes);
string result = BitConverter.ToString(Sum).Replace("-", String.Empty);
return result;
}
}
Получаем MD5 хеш строки
public string ComputeStringMD5Hash(string instr)
{
string strHash = string.Empty;
foreach (byte b in new MD5CryptoServiceProvider().ComputeHash(Encoding.Default.GetBytes(instr)))
{
strHash += b.ToString("X2");
}
return strHash;
}
SHA-2 (англ. Secure Hash Algorithm Version 2 — безопасный алгоритм хеширования, версия 2) — собирательное название однонаправленных хеш-функций SHA-224, SHA-256, SHA-384 и SHA-512.
Получаем SHA-256 хеш
string rethash = "";
try
{
SHA256 hash = SHA256.Create();
UTF8Encoding encoder = new UTF8Encoding();
byte[] combined = encoder.GetBytes("Hello World");
hash.ComputeHash(combined);
foreach (byte b in hash.Hash)
{
rethash += b.ToString("X2");
}
}
catch (Exception ex)
{
string strerr = "Error in HashCode : " + ex.Message;
MessageBox.Show(strerr);
}
Комментариев нет:
Отправить комментарий