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

时间:2017-12-06 16:50:24

标签: .net-core sha-3

是否可以选择在.net核心中计算SHA3-256哈希值?目标是重新创建isChecksumAddress util function in web3.js

3 个答案:

答案 0 :(得分:4)

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

  

自宣布以来,它一直在观察名单上。由于我们不在.NET中实现加密算法,因此我们需要等待底层平台(Windows CNG,Apple Security.framework和OpenSSL)的支持。

请参阅this issue

但是你可能会对BouncyCastle有更好的运气。它有一个实现here,但我不知道它是否已经出现(在nuget中)。

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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

GitHub

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

坚果

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