1
Vote

Incorrect SHA1 when using TransformBytes

description

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?

Thanks!

P.S. Using the .NET System.Security.Cryptography.SHA1.Create() algorithm, also has the same (failed) results.

comments