Legend:
Library
Module
Module type
Parameter
Class
Class type
The Hash module implements unkeyed cryptographic hashes (SHA-1, SHA-256, SHA-512, SHA-3, RIPEMD-160 and MD5), also known as message digest functions. Hash functions used in cryptography are characterized as being <I>one-way</I> (given a hash value, it is computationally infeasible to find a text that hashes to this value) and <I>collision-resistant</I> (it is computationally infeasible to find two different texts that hash to the same value). Thus, the hash of a text can be used as a compact replacement for this text for the purposes of ensuring integrity of the text.
SHA-3, the latest NIST standard for cryptographic hashing, produces hashes of 224, 256, 384 or 512 bits (24, 32, 48 or 64 bytes). The parameter is the desired size of the hash, in bits. It must be one of 224, 256, 384 or 512.
SHA-2, another NIST standard for cryptographic hashing, produces hashes of 224, 256, 384, or 512 bits (24, 32, 48 or 64 bytes). The parameter is the desired size of the hash, in bits. It must be one of 224, 256, 384 or 512.
The BLAKE2b hash function produces hashes of length 1 to 64 bytes. The parameter is the desired size of the hash, in bits. It must be between 8 and 512, and a multiple of 8.
The BLAKE2s hash function produces hashes of length 1 to 32 bytes. The parameter is the desired size of the hash, in bits. It must be between 8 and 256, and a multiple of 8.
SHA-1 is the Secure Hash Algorithm revision 1. It is a NIST standard, is widely used, and produces 160-bit hashes (20 bytes). While popular in many legacy applications, it is now known to be insecure. In particular, it is not collision-resistant.
MD5 is an older hash function, producing 128-bit hashes (16 bytes). While popular in many legacy applications, it is now known to be insecure. In particular, it is not collision-resistant.