qWord, just one more question:
The Sha512Auto does not return the correct value, since it multiplies the original message length for the DefaultCharSize (in VB2010/2012 = 16 bits). Why that kind of math? I mean, since each character is really 1-byte in VB, why exactly are you doing here?
If I understand you, are you trying to make a routine to get, for instance, UNICODE strings (2-byte)?
Kindest regards and thanks!!