如何在 .NET Core 中生成 SHA3-256?

How to generate SHA3-256 in .NET Core?

是否有在 .NET Core 中计算 SHA3-256 哈希值的选项?目标是重新创建 isChecksumAddress util function in web3.js

不,现在使用纯 dotnet 核心无法做到这一点。

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).

参见this issue

但使用 BouncyCastle 可能会更好。它有一个实现 here 但我不知道它是否已经发布(在 nuget 中)。

FIPS-202 SHA3-256(以及所有其他 SHA3 变体,例如 SHA3-512、SHA3-SHAKE256)在此处以纯 .NET 实现,不依赖于 BouncyCastle 等外部 API。

GitHub

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

Nuget

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

您可以使用 SHA3.Net,它是 BouncyCastle 实现的 SHA3 包装器,实现 System.Security.Cryptography.HashAlgorithm

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