【发布时间】:2016-05-23 15:32:14
【问题描述】:
我有一个 ASP.NET 5 RC1(即将成为 ASP.NET Core)Web 应用程序项目。
它需要计算 SHA1 哈希。
各种SHA1 子类可用并在 DNX 4.5.1 下构建,但在 DNX Core 5.0 下似乎没有任何可用的实现。
我是否必须添加引用才能引入该代码,还是它根本不适用于 .NET Core?
根据this article:
.NET Core 由一组库(称为“CoreFX”)和一个小型优化运行时(称为“CoreCLR”)组成。
果然,在CoreFX repo中,没有SHA1的子类:
然而,在 CoreCLR 中,子类在 mscorlib 中如您所愿:
为什么 coreclr 和 corefx 有重叠?此 mscorlib 代码是否不适用于 .NET Core 项目?
System.Security.Crytpography.Algorithms package on NuGet 的描述说:
为加密算法提供基本类型,包括散列、加密和签名操作。
是否有另一个包包含实际算法而不仅仅是基类?这是尚未移植的东西吗?有没有地方可以像 Mono 一样查看 API 的状态和路线图?
【问题讨论】:
-
CoreCLR 是核心运行时,而 CoreFX 是库。如果 SHA1 是 runtime 本身的一部分,您应该可以使用它。您是否尝试过通过工厂方法创建算法的实现?
-
@PanagiotisKanavos,呵呵,完全错过了工厂方法(尽管链接到它)。这样,我的代码就可以编译了。如果您想将其发布为答案,我会接受。
标签: .net asp.net-core sha1 .net-core