使用ASP.NET Core计算SHA1

Dre*_*kes 11 .net sha1 .net-core asp.net-core

我有一个ASP.NET 5 RC1(很快将成为ASP.NET Core)Web应用程序项目.

它需要计算SHA1哈希值.

可以使用各种SHA1子类并在DNX 4.5.1下构建,但DNX Core 5.0下似乎没有任何可用的实现.

我是否必须添加引用以引入该代码,或者它是否仅适用于.NET Core?

根据这篇文章:

.NET Core由一组名为"CoreFX"的库和一个名为"CoreCLR"的小型优化运行时组成.

果然,在CoreFX repo中,没有子类SHA1:

https://github.com/dotnet/corefx/tree/master/src/System.Security.Cryptography.Algorithms/src/System/Security/Cryptography

但是在CoreCLR中,子类就像你期望的那样,在mscorlib中:

https://github.com/dotnet/coreclr/tree/43b39a73cbf832ec13ec29ed356cb75834e7a8d7/src/mscorlib/src/System/Security/Cryptography

为什么coreclr和corefx之间存在重叠?这个mscorlib代码不适用于.NET Core项目吗?

System.Security.Crytpography.AlgorithmsNuGet上的软件包说明:

提供加密算法的基本类型,包括散列,加密和签名操作.

是否有另一个包包含实际算法而不仅仅是基类?这件事还没有移植过吗?有没有像Mono那样可以查看API状态和路线图的地方?

blo*_*art 30

添加System.Security.Cryptography.Algorithmsnuget包.

然后

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

var hash = sha1.ComputeHash(myByteArray)
Run Code Online (Sandbox Code Playgroud)