internal static ImmutableArray <byte> CalculateChecksum(byte[] buffer, int offset, int count, SourceHashAlgorithm algorithmId) { using (var algorithm = CryptographicHashProvider.TryGetAlgorithm(algorithmId)) { Debug.Assert(algorithm != null); return(ImmutableArray.Create(algorithm.ComputeHash(buffer, offset, count))); } }
internal static ImmutableArray <byte> CalculateChecksum(Stream stream, SourceHashAlgorithm algorithmId) { using (var algorithm = CryptographicHashProvider.TryGetAlgorithm(algorithmId)) { Debug.Assert(algorithm != null); if (stream.CanSeek) { stream.Seek(0, SeekOrigin.Begin); } return(ImmutableArray.Create(algorithm.ComputeHash(stream))); } }