是否可以使用 .NET Standard 库生成 CMAC?

问题描述

我基本上想知道是否可以使用 .NET Standard 库完成以下序列:

var mac = new Org.BouncyCastle.Crypto.Macs.CMac(new BouncyCastleAES());
var cmacBytes = new byte[mac.GetMacSize()];
mac.Init(new BouncyCastleAESKey(key));
mac.BlockUpdate(data,data.Length);
mac.DoFinal(cmacBytes,0);

//Heres the result we're looking for...
Console.WriteLine(cmacBytes);

我注意到 AesCcm 所以充满希望。使用此类获取 CMAC 似乎是不可能的。

这是通过采摘来加强

我们没有办法用当前的提案做 CMAC,但这没关系,因为我们没有办法在平台上做 CMAC ?。

来自 https://github.com/dotnet/runtime/issues/1813#issuecomment-575371385 讨论相关(公开)问题。

虽然有 AES CMAC Calculation C# 解释方法,当然还有 Bouncy code。所以看起来有一种简单/可以理解的方法,但也许我只是想通过外部意见确保自己没有一些直接的方法潜伏在表面之下或其他容易咬人的东西。 :)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)