[ Windows Phone / Silverlight ] How to get MD5 / SHA256 CheckSum of file stream or hash of string

Получение 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

http://bouncycastle.org/

 

А можно взять вот эту реализацию:

http://pastebin.com/KxDVDWHS

И пользоваться ей так:

        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();
            }
        }

 

One Comment
  1. Pingback: [ csharp ] How To Get MD5 / SHA256 Hash Of File Stream Or String

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *