0

我基本上想知道是否可以使用 .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, 0, 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 代码。所以看起来有一种简单/易于理解的方法,但也许我只是想确保自己有外部意见,即没有一些直接的方法潜伏在表面之下或其他容易咬人的东西。:)

4

0 回答 0