Контрольная сумма (Checksum)

Контрольная сумма — это значение, полученное путем математических вычислений над блоком данных для проверки их целостности.

Algorithms: 1. Parity Byte. 2. Modular Sum. 3. CRC32 (Standard for Ethernet/ZIP). 4. Cryptographic (MD5, SHA-1, SHA-256). Applications: File verification (MD5sum), Network protocols (TCP/UDP), Blockchain addresses, System memory (ECC RAM).

        graph LR
  Center["Контрольная сумма (Checksum)"]:::main
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Простыми словами

Представь, что ты отправляешь другу длинный список покупок. В конце ты пишешь: 'всего 15 товаров'. Если друг насчитает 14, он поймет, что ты что-то забыл написать. Это и есть контрольная сумма — простая проверка на полноту и точность.

🤓 Expert Deep Dive

Важно различать контрольные суммы для обнаружения ошибок (Error Detection) и хеши для безопасности. Первые (например, CRC) оптимизированы для скорости и нахождения физических помех. Вторые (например, SHA-2) оптимизированы для того, чтобы злоумышленник не смог намеренно подменить данные. В современных файловых системах (ZFS, Btrfs) контрольные суммы используются для поиска и автоматического исправления ошибок на диске (Bit-rot).

📚 Источники