Другой результат при преобразовании строки в CRC-32 - PullRequest
0 голосов
/ 30 апреля 2018

Я пытаюсь преобразовать строку в CRC-32 с помощью Perl. И я нашел String :: CRC32. Но результат от этого модуля отличается с онлайн-конвертер. Вот мой код:

use strict;
use warnings;
use String::CRC32;

my $resi = "nawan";
print crc32($resi) . "\n"; # --output : 3840460347

И вывод этого кода: 3840460347 .

Но когда я пытаюсь преобразовать «наван» с помощью онлайн-конвертера ( этот онлайн-конвертер ), результат этого онлайн-конвертера будет f082b8df .

Что-то мне не хватает в CRC-32? Почему результат отличается?

Спасибо.

1 Ответ

0 голосов
/ 30 апреля 2018

Результат из String::CRC32 соответствует десятичному значению вывода из crc32b версии этого сайта.

use strict;
use warnings;
use String::CRC32;

my $resi = "nawan";
print sprintf("Decimal: %d, Hex: %x\n",crc32($resi), crc32($resi));

выход

Decimal: 3840460347, Hex: e4e8c63b

e4e8c63b соответствует хешу 'nawan' crc32b, полученному на этом сайте.

...