in signature/csharp/core/SM3Digest.cs [73:101]
public void BlockUpdate(byte[] input, int inOff, int length)
{
//更新当前消息摘要
while ((XBufOff != 0) && (length > 0))
{
Update(input[inOff]);
inOff++;
length--;
}
//处理完整的消息摘要
while (length > XBuf.Length)
{
ProcessWord(input, inOff);
inOff += XBuf.Length;
length -= XBuf.Length;
ByteCount += XBuf.Length;
}
//填充剩余的消息摘要
while (length > 0)
{
Update(input[inOff]);
inOff++;
length--;
}
}