Контрольная сумма - это числовое значение, используемое для проверки целостности данных. Рассмотрим основные методы расчета контрольных сумм и их практическое применение.
Содержание
Основные алгоритмы расчета
Алгоритм | Описание | Применение |
CRC | Циклический избыточный код | Сетевые протоколы, архивы |
MD5 | 128-битная хеш-функция | Проверка файлов |
SHA-1 | 160-битный алгоритм | Цифровые подписи |
Методы расчета простой контрольной суммы
1. Метод сложения байтов
- Разделить данные на байты
- Сложить все байты
- Взять младший байт результата
2. Метод XOR
- Инициализировать результат нулем
- Применить операцию XOR к каждому байту
- Полученное значение - контрольная сумма
Пример расчета (метод сложения)
Данные | Шестнадцатеричное значение | Десятичное значение |
Байт 1 | 0x4A | 74 |
Байт 2 | 0x3B | 59 |
Байт 3 | 0x8F | 143 |
Сумма | 0x0148 | 276 |
Контрольная сумма | 0x48 | 72 |
Программные средства для расчета
Командная строка Windows
- CertUtil -hashfile файл MD5
- CertUtil -hashfile файл SHA1
Linux/macOS терминал
- md5sum имя_файла
- sha1sum имя_файла
- cksum имя_файла (CRC)
Проверка контрольных сумм
Действие | Описание |
Получение суммы | Вычислить контрольную сумму файла |
Сравнение | Сопоставить с эталонным значением |
Верификация | Подтвердить идентичность значений |
Практическое применение
- Проверка целостности загруженных файлов
- Обнаружение ошибок передачи данных
- Верификация цифровых подписей
- Контроль изменений в файлах
Ограничения контрольных сумм
- Не обеспечивают криптографическую стойкость
- Возможны коллизии (одинаковые суммы для разных данных)
- Простые алгоритмы уязвимы для преднамеренных изменений