https://www.ssla.co.uk/hash-function/.