A recursive hashing algorithm therein the input is hashed in a window that moves through the input.