Получение MD5 / SHA256 хеша файла или строки
С sha256 всё просто, есть в стандартных библиотеках, а вот для md5 почему-то не реализовали такую возможность.
sha256
using System.Security.Cryptography; public static string GetSHA256Hash(string path) { var storage=IsolatedStorageFile.GetUserStoreForApplication(); using (var stream = storage.OpenFile(path, FileMode.Open, FileAccess.Read, FileShare.Read)) { SHA256 mySHA256 = new SHA256Managed(); mySHA256.ComputeHash(stream); return BitConverter.ToString(mySHA256.Hash).Replace("-", "").ToLower(); } }
md5
Можно пойти окольными путями:
http://www.jeff.wilcox.name/2008/03/silverlight-2-md5/
http://archive.msdn.microsoft.com/SilverlightMD5
А можно взять вот эту реализацию:
И пользоваться ей так:
public static string MD5Hash(string path) { var storage = IsolatedStorageFile.GetUserStoreForApplication(); using (var stream = storage.OpenFile(path, FileMode.Open, FileAccess.Read, FileShare.Read)) { MD5CryptoServiceProvider myMD5 = new MD5CryptoServiceProvider(); myMD5.ComputeHash(stream); return BitConverter.ToString(myMD5.Hash).Replace("-", "").ToLower(); } }
Pingback: [ csharp ] How To Get MD5 / SHA256 Hash Of File Stream Or String