2015-01-07 2 views
2

В Java мы имеем прогрессивный HMAC так:Что такое эквивалент C# для прогрессивного HMACSHA256?

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

Пожалуйста, что C# эквивалент для прогрессивного HMACSHA256?

+1

['H MACSHA256' class] (http://msdn.microsoft.com/en-us/library/system.security.cryptography.hmacsha256.aspx), может быть? –

+0

@ SonerGönül HMACSHA256 –

+0

@ SonerGönül Как мы можем сделать прогрессивный хеш, как вы можете сделать с java? –

ответ

2

Получил! Microsoft чрезмерно приготовленная иначе простой 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 

Я не см., как это помогает разработчикам-производителям каким-либо образом :(

Смежные вопросы