渐进式 HMACSHA256 的 c# 等价物是什么?

What is the c# equivalent for progressive HMACSHA256?

在 Java 中,我们有这样的渐进式 hmac:

Mac mac = Mac.getInstance("HmacSHA256");
mac.init(macKey);
mac.update(part(0));
mac.update(part(1));
...
byte[] fullMac = mac.doFinal(part(n))

请问渐进式 HMACSHA256 的 C# 等价物是什么?

知道了! Microsoft 将 otherwise 简单的 Update 操作过火化为 TransformBlock & TransformFinalBlock

Mac mac = Mac.getInstance("HmacSHA256");
mac.init(macKey);
mac.update(part(0));
mac.update(part(1));
...
byte[] fullMac = mac.doFinal(part(9))

在 .Net 中现在变成 (vb.net)

dim fullMac as byte()
using mac=New HMACSHA256(macKey)
   mac.TransformBlock(part(0),0,part(0).Length,null,0)
   mac.TransformBlock(part(1),0,part(1).Length,null,0)
   ...
   fullMac=mac.TransformFinalBlock(part(9),0,part(9).Length)
end using

我看不出这对开发人员的工作效率有何帮助:(