updating to use efficient hashlib functions, and add tests.