I'm a lazy person, and I hate reinventing the wheel. Of course, I googled.
I don't remember why I didn't like the first version found by google. Maybe it was because they hash UCS-2 bytes, while I wanted to hash UTF-8 bytes.
So I used the second one.
As usually happens with UTF-8 bugs, when the string only contains ASCII characters, everything works great. As soon as the string contain something else (Cyrillic in my case), everything's broken.
I fixed it by replacing string with byte array, and wrote an e-mail to maintainer. However it's 6 months passed already, and the page still lists the bugged version.