private static Sha256 HashImpl(crypt.SHA256 alg, ReadOnlySpan <byte> span) { Debug.Assert(alg != null); // Do NOT short-circuit here; rely on call-sites to do so #if !NETSTANDARD2_0 Span <byte> hash = stackalloc byte[Sha256.ByteLength]; alg.TryComputeHash(span, hash, out _); #else var hash = alg.ComputeHash(span.ToArray()); #endif var sha = new Sha256(hash); return(sha); }