Как получить хеш файла или строки
В Windows Phone Silverlight это делалось немного иначе, теперь же, нас постепенно ведут к единому стандарту:
using Windows.Security.Cryptography;
using Windows.Security.Cryptography.Core;
using Windows.Storage;
using Windows.Storage.Streams;
// ...
        public async Task<string> NewSHA256(StorageFile file)
        {
            IBuffer buffFile = await FileIO.ReadBufferAsync(file);
            HashAlgorithmProvider hashProvider = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256);
            IBuffer buffHash = hashProvider.HashData(buffFile);
            return CryptographicBuffer.EncodeToHexString(buffHash);
        }
Пример для строки и прочую справочную информацию, как всегда, смотрим на msdn.
HashAlgorithmNames, нам гарантирует получение и других хешей, аналогичным образом (md5, sha512 и т.д). При желании добавляем параметром функции название алгоритма.
Держим в голове, что при считывании в буфер слишком больших файлов мы можем столкнуться с проблемами.
Решить данные вопросы можно, к примеру, так:
        public static async Task<string> GetHash(StorageFile file, string alg)
        {
            HashAlgorithmProvider hashProvider = HashAlgorithmProvider.OpenAlgorithm(alg);
            
            CryptographicHash cryptoHash = hashProvider.CreateHash();
            using (var stream = await file.OpenStreamForReadAsync())
            {
                int count;
                var buffer = new byte[4096];
                while ((count = stream.Read(buffer, 0, 4096)) > 0)
                {
                    cryptoHash.Append(buffer.AsBuffer(0, count));
                }
            }
            return CryptographicBuffer.EncodeToHexString(cryptoHash.GetValueAndReset());
        }