失配时的信息来降低最坏情况复杂度：每次失配时，文本的当前位置会使得两串中至少存在一处不同，这使得上述算法可以跳过已经确定无法成功匹配的位置。这类算法中KMP算法与Boyer-Moore字符串搜索算法较为常见。本条目所述的算法的加速方式则不同：此算法使用散列函数以快速对每个位置能否匹配作大致的检测，此后只对通过了检测的位置进行匹配尝试。字符串搜索中所用散列函数（或哈希函数）会对每一个字符串进行处理与计算，生成的数值称为散列值（或哈希值）：例如，在以某种方式定义了散列函数hash()后，我们可能有hash(