关于.net:使用ASP.NET Core计算SHA1

Computing SHA1 with ASP.NET Core

我有一个ASP.NET 5 RC1(即将成为ASP.NET核心)Web应用程序项目。

它需要计算sha1散列。

各种各样的SHA1子类在dnx 4.5.1下可用并构建,但在dnx core 5.0下似乎没有任何可用的实现。

我需要添加一个引用来引入该代码吗,或者它还不能用于.NET核心?

根据本文:

.NET Core consists of a set of libraries, called"CoreFX", and a small, optimized runtime, called"CoreCLR".

可以肯定的是,在corefx回购中,没有SHA1的子类:

https://github.com/dotnet/corefx/tree/master/src/system.security.cryptography.algorithms/src/system/security/cryptography

然而,在corecrl中,子类如您所期望的那样存在于mscorlib中:

https://github.com/dotnet/corecrl/tree/43b39a73cbf832ec13ec29ed356cb758334e7a8d7/src/mscorlib/src/system/security/cryptography

为什么corecrl和corefx之间有重叠?此mscorlib代码是否不适用于.NET核心项目?

关于nuget的System.Security.Crytpography.Algorithms包的描述是:

Provides base types for cryptographic algorithms, including hashing, encryption, and signing operations.

有没有另外一个包含实际算法而不仅仅是基类的包?这是不是还没有预告?有没有什么地方可以像Mono那样检查API和路线图的状态?


添加System.Security.Cryptography.Algorithmsnuget包。

然后

1
2
3
var sha1 = System.Security.Cryptography.SHA1.Create();

var hash = sha1.ComputeHash(myByteArray)