首页 文章

.net标准2.0和System.Security.Cryptography.ProtectedData.Protect

提问于
浏览
2

看看System.Security.Cryptography.ProtectedData.Protect @ https://docs.microsoft.com/en-gb/dotnet/api/

因为我们希望将一个库从4.7移植到.net标准2.0库,其中.net core 2.0将使用它 . 所以我进行了搜索,它只能在完整的框架和.net核心中使用

我的问题是为什么在.Net Stanard 2.0中没有它?

我会教它是否可以用于例如4.7和.net core 2.0那么它将成为.Net Standard 2.0的一部分

2 回答

  • -1

    此API在.NET Standard 2.0中不可用,但它可用于“.NET Standard 2.0”作为“平台扩展”,这意味着您必须添加一个NuGet包才能获得对它的支持 .

    如果添加对 System.Security.Cryptography.ProtectedData NuGet包的引用,则可以开发使用这些API的.NET标准库 .

    但是,此支持仅在Windows上运行时才有效,因为这些API被描述为

    提供对Windows Data Protection Api的访问 .

    所以它不适用于Windows以外的平台 . 根据您的需要,这可能会很好 .

    如果您希望跨平台实现类似的概念,我建议查看ASP.NET Core Data Protection APIs,它也可以在ASP.NET核心应用程序的上下文之外使用,因为它是由提供加密逻辑和密钥存储解决方案的NuGet包构成的 . (例如目录,Windows证书存储,Azure KeyVault) .

  • 7

    首先

    我不能回答微软的问题

    tl;博士

    很多这些问题都可以解答:如果您需要在.NET Framework中找到API,请使用.NET Framework .

    更长的答案

    .NET Framework中的大量API依赖于底层Windows库(在MacO或Linux发行版上不可用),或者它们目前实现起来太复杂,因此它们不适用于.NET Core .

    如果有一个API,您需要访问哪个只在.NET Framework中可用,那么(暂时)最好使用.NET Framework而不是.NET Core / Mono / etc .

    如果您有令人信服的理由将某些内容包含在.NET Standard中,那么我会转到.NET Standard GitHub repo并要求在那里实现它 .

相关问题