cksum (cksum)

Перейти к навигации Перейти к поиску

сksum — утилита Unix, предназначенная для генерации контрольной суммы для одного или нескольких файлов или потока данных по алгоритму CRC, заданному в стандарте POSIX.

Утилита cksum считывает каждый файл, указанный в его аргументах, или поток ввода, если аргументы не указаны, и возвращает контрольную сумму CRC файла и количество байтов.

Может использоваться для проверки целостности данных путём сравнения контрольной суммы исходного файла с контрольной суммой целевого файла переданными ненадёжными каналами связи[1].

На вход данная улита принимает файл или несколько файлов любого типа и выполняет запись одной строки на стандартное устройство вывода для каждого указанного файла в таком виде:

   %u %d %s\n <контрольная сумма>, <размер файла в байтах>, <имя файла>

В случае успеха возвращает ноль, в противном случае возвращает ненулевое значение.

   cksum [файл_1, файл_2...]

Пример использования

[править | править код]

Чтобы рассчитать контрольную сумму некоторого файла с именем testfile1 необходимо выполнить следующую команду:

   cksum testfile1

После выполнения которой будет возвращена строка:

   1263453430 78 testfile1

здесь 1263453430 — CRC, 78 — длина файла в байтах, testfile1 — имя файла.

Использование

[править | править код]

Утилита cksum обычно используется для быстрого сравнения двух файлов на эквивалентность. Например для того, чтобы убедиться, что передаваемые либо хранимые файлы не повреждены.

CRC, вычисленная командой cksum, не является криптографически стойкой, хотя она указывает на повреждение данных, для которых весьма маловероятно совпадение CRC повреждённого файла и исходного файла, злоумышленник легко может намеренно исказить файл не изменив CRC.

В Unix-подобных системах предусмотрены и другие команды для криптографически безопасных контрольных сумм, например, sha256sum.

Примечания

[править | править код]
  1. cksum: Print CRC checksum and byte counts. Дата обращения: 5 июля 2015. Архивировано 22 сентября 2018 года.