!,**+      !"#$%&'()*Safe;=)SHA!An abstract datatype for digests. SHACompute the SHA-1 hash of the given ByteString. The output is guaranteed to be exactly 160 bits, or 20 bytes, long. This is a good default for programs that need a good, but not necessarily hyper-secure, hash function. SHA Similar to  N but use an incremental interface. When the decoder has been completely fed,  - must be used so it can finish successfully.SHACompute the SHA-224 hash of the given ByteString. Note that SHA-224 and SHA-384 differ only slightly from SHA-256 and SHA-512, and use truncated versions of the resulting hashes. So using 224/384 may not, in fact, save you very much ...SHA Similar to N but use an incremental interface. When the decoder has been completely fed, - must be used so it can finish successfully.SHACompute the SHA-256 hash of the given ByteString. The output is guaranteed to be exactly 256 bits, or 32 bytes, long. If your security requirements are pretty serious, this is a good choice. For truly significant security concerns, however, you might try one of the bigger options.SHA Similar to N but use an incremental interface. When the decoder has been completely fed, - must be used so it can finish successfully.SHACompute the SHA-384 hash of the given ByteString. Yup, you guessed it, the output will be exactly 384 bits, or 48 bytes, long.SHA Similar to N but use an incremental interface. When the decoder has been completely fed, - must be used so it can finish successfully.SHAFor those for whom only the biggest hashes will do, this computes the SHA-512 hash of the given ByteString. The output will be 64 bytes, or 512 bits, long.SHA Similar to N but use an incremental interface. When the decoder has been completely fed, - must be used so it can finish successfully.SHACompute an HMAC using SHA-1.SHACompute an HMAC using SHA-224.SHACompute an HMAC using SHA-256.SHACompute an HMAC using SHA-384.SHACompute an HMAC using SHA-512.SHAWConvert a digest to a string. The digest is rendered as fixed with hexadecimal number.+SHA=Prints out a bytestring in hexadecimal. Just for convenience. SHAConvert a digest to an Integer.!SHA!Convert a digest to a ByteString.SHA secret keySHAmessageSHA SHA-1 MACSHA secret keySHAmessageSHA SHA-224 MACSHA secret keySHAmessageSHA SHA-256 MACSHA secret keySHAmessageSHA SHA-384 MACSHA secret keySHAmessageSHA SHA-512 MAC"  !" !   ,      !"#$%&'()*+,-."SHA-1.6.4.4-JMR7vfwP31AJIYiuWMgYuJData.Digest.Pure.SHA SHA512State SHA256State SHA1StateDigestpadSHA1 padSHA1Chunks padSHA512padSHA512Chunkscalc_ktoBigEndianSBSfromBigEndianSBSsha1sha1IncrementalcompleteSha1Incrementalsha224sha224IncrementalcompleteSha224Incrementalsha256sha256IncrementalcompleteSha256Incrementalsha384sha384IncrementalcompleteSha384Incrementalsha512sha512IncrementalcompleteSha512IncrementalhmacSha1 hmacSha224 hmacSha256 hmacSha384 hmacSha512 showDigest integerDigestbytestringDigest $fShowDigest$fBinarySHA1State$fBinaryDigest$fBinarySHA256State$fBinaryDigest0$fBinarySHA512State$fBinaryDigest1 $fEqDigest $fOrdDigest showDigestBS