Miklix

Калькулятор хэш-кода CRC-32

Опубликовано: 17 февраля 2025 г. в 18:12:15 UTC
Последнее обновление: 12 января 2026 г. в 09:14:56 UTC

Калькулятор хеш-кода, использующий хеш-функцию CRC-32 (циклическая избыточная проверка, 32 бита) для вычисления хеш-кода на основе текстового ввода или загруженного файла.

Эта страница была переведена с английского языка для того, чтобы сделать ее доступной как можно большему числу людей. К сожалению, машинный перевод еще не является совершенной технологией, поэтому возможны ошибки. Если вы хотите, вы можете просмотреть оригинальную английскую версию здесь:

CRC-32 Hash Code Calculator

Циклическая избыточность (CRC) — это код обнаружения ошибок, обычно используемый для выявления случайных изменений в исходных данных. Хотя технически это не криптографическая хеш-функция, CRC-32 часто называют хеш-функцией из-за его способности выдавать результат фиксированного размера (32 бита) из входных данных переменной длины.

Полное раскрытие информации: я не писал конкретную реализацию хэш-функции, используемой на этой странице. Это стандартная функция, входящая в состав языка программирования PHP. Я лишь сделал веб-интерфейс, чтобы сделать ее общедоступной здесь для удобства.


Вычислите новый хэш-код

Данные, переданные или загруженные через эту форму, будут храниться на сервере только в течение времени, необходимого для генерации запрашиваемого хэш-кода. Они будут удалены непосредственно перед тем, как результат будет возвращен вашему браузеру.

Исходные данные:



Представленный текст имеет кодировку UTF-8. Поскольку хэш-функции оперируют двоичными данными, результат будет отличаться от того, если бы текст был в другой кодировке. Если вам нужно вычислить хэш текста в определенной кодировке, вам следует загрузить файл.



О хеш-алгоритме CRC-32

Я не математик, но попробую объяснить эту хеш-функцию с помощью простой аналогии. В отличие от многих криптографических хеш-функций, это не особенно сложный алгоритм, так что, вероятно, всё будет понятно ;-)

Представьте, что вы отправляете письмо по почте, но опасаетесь, что оно может повредиться до того, как дойдет до получателя. Исходя из содержимого письма, вы вычисляете контрольную сумму CRC-32 и записываете её на конверте. Когда получатель получит письмо, он также сможет вычислить контрольную сумму и проверить, совпадает ли она с тем, что вы написали. Если совпадает, значит, письмо не было повреждено или изменено в процессе доставки.

Методика CRC-32 выполняет это в четыре этапа:

Шаг 1: Добавьте немного дополнительного пространства (отступа).

  • CRC добавляет немного дополнительного места в конце сообщения (как при упаковке пенопластовых шариков в коробку).
  • Это помогает системе легче выявлять ошибки.

Шаг 2: Волшебная линейка (многочлен)

  • В CRC-32 используется специальная «волшебная линейка» для измерения данных. Представьте эту линейку как узор из неровностей и борозд (это многочлен, но не обращайте внимания на это слово). Наиболее распространенной «линейкой» для CRC-32 является фиксированный шаблон.

Шаг 3: Перемещение линейки (процесс деления)

  • Теперь CRC перемещает линейку по сообщению. В каждой точке она проверяет, совпадают ли выступы и канавки. Если они не совпадают, CRC делает пометку (это делается с помощью простого XOR, как включение или выключение переключателей). Она продолжает перемещать линейку и переключать переключатели, пока не достигнет конца.

Шаг 4: Окончательный результат (контрольная сумма)

  • После того, как вы проведете линейкой по всему сообщению, останется небольшое число (длиной 32 бита), представляющее исходные данные. Это число подобно уникальному отпечатку пальца для сообщения. Это контрольная сумма CRC-32.

Представленная на странице версия использует оригинальную функцию CRC-32, именно её следует использовать для обеспечения наилучшей совместимости с другими системами.

У меня есть калькуляторы и для других вариантов:

  • Связь
  • Связь

Дополнительное чтение

Если вам понравился этот пост, вам также могут понравиться эти предложения:


Поделиться на BlueskyПоделиться на FacebookПоделиться на LinkedInПоделиться на TumblrПоделиться на XПоделиться на LinkedInЗакрепить на Pinterest

Миккель Кристенсен

Об авторе

Миккель Кристенсен
Миккель - создатель и владелец сайта miklix.com. Он имеет более чем 20-летний опыт работы в качестве профессионального программиста/разработчика программного обеспечения и в настоящее время работает на полную ставку в крупной европейской IT-корпорации. Когда он не ведет блог, то тратит свое свободное время на огромное количество интересов, хобби и занятий, что в некоторой степени отражается в разнообразии тем, освещаемых на этом сайте.