Take a base64/url-encoded string and decode it as a Hash. If the string is malformed, yields NoHash.
Produce a base16 (ascii-hex) encoded string from a hash. This can be turned back into a Hash (see decodeBase16. This is a loss-less process.
Take a base16-encoded string and decode it as a Hash. If the string is malformed, yields NoHash.
Compute a sha256 of a (lazy) ByteString. However, although this works correctly for any bytestring, it is only efficient if the bytestring only has a sigle chunk.