渐进式HMACSHA256的 c# 等效项是什么?

本文关键字:是什么 HMACSHA256 渐进式 | 更新日期: 2023-09-27 18:36:29

在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# 等效项是什么?

渐进式HMACSHA256的 c# 等效项是什么?

知道了!Microsoft将原本简单的更新操作过度烹饪到 TransformBlockTransformFinalBlock

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

我不明白这如何以任何方式帮助开发人员提高生产力:(