private static int hashValue(byte cs[], int start, int len) {
        int h = 0;
        int off = start;

        for (int i = 0; i < len; i++) {
            h = (h << 5) - h + cs[off++];
        }
        return h;
    }