I'm using HashLib.HashFactory.Crypto.CreateSHA1()
and feeding files 30MB-4GB in size via TransformBytes/TransformFinal.
I've noticed that when using TransformBytes and passing blocks over 4,096 bytes (even 5,120 fails!), I get the wrong hash value. The same code with 4,096 block size or under, works fine.
void TransformBytes (byte a_data, int a_index, int a_length);
There is no reference to this potential limit in the documentation, that I've found. Is the max a_length implicitly 4,096 for the algorithm? Any advise?
P.S. Using the .NET System.Security.Cryptography.SHA1.Create()
algorithm, also has the same (failed) results.