The MD4, MD5 and SHA-1 algorithms are secure hash functions. They take a string input, and produce a fixed size number – 128 bits for MD4 and MD5; 160 bits for SHA-1. This number is a hash of the input – a small change in the input results in a substantial change in the output. The functions are thought to be secure, in the sense that it would require an enormous amount of computing power to find a string which hashes to a chosen value. In others words, there’s no way to decrypt a secure hash. The uses of secure hashes include digital signatures and challenge hash authentication.