Hashing is now pluggable, if not defined, it will be assumed to be null (the key will be returned)

Also, now there is a hard dependency on hashlib, since we need it to process even the null hashing