This algorithm was ported from the book Cryptography: Theory and Practice, by Douglas Stinson.
Two functions are exported,
sha1:hexstring/1. These functions take a data string in input and output either a binary or a string of uppercase hexadecimal values:
1> sha1:binstring("test"). <<169,74,143,229,204,177,155,166,28,76,8,115,211, 145,233,135,152,47,187,211>> 2> sha1:hexstring("test"). "A94A8FE5CCB19BA61C4C0873D391E987982FBBD3"
The library features two functions to hash files, but they are very slow. Also be aware that although SHA-1 outputs 160 bits, an attack exists using 2^63 operations "only".