如何将 System.Security.Cryptography 程序集版本从 4.0 in.net 框架升级到 5.0

How to Upgrade System.Security.Cryptography assembly version to point to 5.0 from 4.0 in.net framework

在我的应用程序中,我使用 System.Security.Cryptography (Microsoft dll) 来解密我的逻辑,目前我已经在使用 4.0 版本的 Rijndael Class,现在我必须使用5.0 版本的 AesGCM 也无法解密使用 AesGcm class 加密的内容但是我无法升级以下程序集的版本是我尝试过的解决方法

  1. 如果我尝试重新安装它会安装 4.0 而不是 5.0,我无法在 Nuget 控制台中找到确切的程序集
  2. 要使用 AesGcm intellisense 提示将 C# 版本从旧版本升级到 8.0,我通过将 PropertyGroup ->LangVersion 下的 .csproj 文件编辑为 8.0

但是智能感知关闭了,但我仍然无法使用 AesGcm class

 using var aes = new AesGcm("_key to be enter alter");

错误:在程序集引用中找不到类型或命名空间 AesGCM 3. 我尝试为 AesGcm 方法调用添加以下属性,但仍然没有用,因为我没有安装版本 5 [程序集:AssemblyVersion("1.0.0.0")]
[程序集:AssemblyFileVersion(“1.0.0.0”)]
我需要同时使用 Rijndael 和 AesGcm 方法,有人可以告诉我我做错了什么吗?

遗憾的是 AesGcm 仅适用于 .NET Core >= 3.0 或 .NET 5.0(实际上是 .NET Core 5.0,与 .NET Framework 4.x 完全不同)。

您无法导入单个 5.0 System.Security.Cryptography.Algorithms.

如果您愿意,可以尝试从 source code 转换它,或者您可以使用 BouncyCastle 或类似的库。