quiet some msvc compiler warnings
another msvc warning
add a default sha512 impl and the option to use a custom hash function