How to generate SHA3-256 in .NET Core?

No, there is no way of doing that now with pure dotnet core.

It's been on the watch list since it was announced. Since we don't implement cryptographic algorithms within .NET we're waiting on support from the underlying platforms (Windows CNG, Apple Security.framework, and OpenSSL).

See this issue.

But you might have a better luck with BouncyCastle. It has an implementation here but I don't know if it is out yet (in nuget).


FIPS-202 SHA3-256 (and all other SHA3 variants, e.g. SHA3-512, SHA3-SHAKE256) are implemented here, in pure .NET, with no dependencies on external APIs like BouncyCastle.

GitHub

https://github.com/series0ne/CORE/tree/master/Core/Security/Cryptography

Nuget

https://www.nuget.org/packages/SeriesOne.Core/


You can use SHA3.Net 1.2.2 that is a SHA3 wrapper of the BouncyCastle implementation, implementing System.Security.Cryptography.HashAlgorithm

https://www.nuget.org/packages/SHA3.Net/1.2.2