internal static RollingSignature RollSignature(int length, byte previousByte, byte nextByte, RollingSignature existingSignature)
{
decimal s1 = 0;
decimal s2 = 0;
s1 = existingSignature.Sig1;
s2 = existingSignature.Sig2;
s1 = s1 - previousByte + nextByte;
s2 = s2 - (previousByte * length) + s1;
var res = new RollingSignature() { Sig1 = s1, Sig2 = s2 };
return res;
}