Я пытаюсь воспроизвести хеш-функцию CRC32, доступную в PHP, на Java. Существующий класс CRC32 в Java возвращает другой хэш, и я полагаю, что это связано с тем, что байты Java в моем массиве байтов беззнаковые от -128 до 128 вместо 0-255.
Чего я не могу понять, так это того, как обойти эту ситуацию. Я рассматривал использование UnsignedBytes в Guava, но не могу найти метод хеширования, который принимает его в качестве аргумента. Я мог бы использовать это, чтобы написать свою собственную хеш-функцию, но, честно говоря, я недостаточно разбираюсь в том, как она работает, или в побитовой арифметике в целом, чтобы сделать это правдоподобным.
Проще говоря, я пытаюсь, чтобы CRC32 имел строку и возвращал десятичное представление.