【问题标题】:How to Upgrade System.Security.Cryptography assembly version to point to 5.0 from 4.0 in.net framework [duplicate]如何升级 System.Security.Cryptography 程序集版本以从 4.0 in.net 框架指向 5.0 [重复]
【发布时间】:2021-05-01 03:55:32
【问题描述】:

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

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

但是智能感知消失了,但我仍然无法使用 AesGcm 类

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

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

【问题讨论】:

  • 你的程序是什么版本的.NET/.NET Framework/.NET Core
  • Microsoft Visual Studio Enterprise 2019 版本 16.6.0 和 Microsoft .Net Framework 版本 4.8.03752
  • .NET Framework 哪个版本?项目右键、属性、应用程序选项卡、目标框架
  • .Net Framework 4.6.2

标签: c# .net algorithm encryption cryptography


【解决方案1】:

遗憾的是,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 或类似的库。

【讨论】:

猜你喜欢
  • 2018-08-08
  • 2011-12-12
  • 2020-03-02
  • 2021-06-14
  • 2023-02-06
  • 1970-01-01
  • 1970-01-01
  • 2012-03-26
  • 1970-01-01
相关资源
最近更新 更多