1. A hardware data compressor that compresses an input block of characters by replacing strings of characters in the input block with back pointers to matching strings earlier in the input block, the hardware data compressor comprising: a hash table for use in searching for the matching strings in the input block; a plurality of hash index generators, each hash index generator of the plurality of hash index generators employs a different hashing algorithm on an initial portion of the strings of characters to be replaced to generate a respective index; an indication of a type of the input block of characters; and a selector that selects the index generated by of one of the plurality hash index generators to index into the hash table based on the type of the input block.