A fork from http://create.stephan-brumme.com/hash-library/