АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

cksumposix - Интернет в облаке

Запустите cksumposix в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда cksumposix, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


cksum - записывать контрольные суммы и размеры файлов

СИНТАКСИС


CKSUM [файл...]

ОПИСАНИЕ


Ассоциация CKSUM Утилита должна вычислить и записать на стандартный вывод циклический контроль избыточности
(CRC) для каждого входного файла, а также записать на стандартный вывод количество октетов в каждом
файл. Используемый CRC основан на полиноме, используемом для проверки ошибок CRC в
Стандарт ISO / IEC 8802-3: 1996 (Ethernet).

Кодирование контрольной суммы CRC определяется генерирующим полиномом:

G(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1

Математически значение CRC, соответствующее данному файлу, должно определяться
следующая процедура:

1. n биты, подлежащие оценке, считаются коэффициентами полинома по модулю 2
M(x) степени n−1. Эти n биты - это биты из файла, с наибольшим
значащий бит - это самый старший бит первого октета файла, а
последний бит - младший значащий бит последнего октета, дополненный нулевыми битами (если
необходимо) для достижения целого числа октетов, за которым следует один или несколько октетов
представляет длину файла в виде двоичного значения, сначала младший октет.
Должно использоваться наименьшее количество октетов, способных представлять это целое число.

2. M(x) умножается на x32 (то есть сдвинуто влево на 32 бита) и делится на G(x) с помощью
деление по модулю 2, производя остаток R(x) степени ≤ 31.

3. Коэффициенты при R(x) считаются 32-битной последовательностью.

4. Битовая последовательность дополняется, и результатом является CRC.

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


Нет.

ОПЕРАНДЫ


Поддерживается следующий операнд:

файл Путь к проверяемому файлу. Если нет файл указаны операнды,
должен использоваться стандартный ввод.

СТАНДИН


Стандартный ввод должен использоваться, если нет файл операнды указаны и должны использоваться, если
файл операнд '-' и реализация обрабатывает '-' как значение стандартного ввода.
В противном случае стандартный ввод не будет использоваться. См. Раздел ВХОДНЫЕ ФАЙЛЫ.

ВХОД FILES


Входные файлы могут быть любого типа.

ОКРУЖАЮЩАЯ СРЕДА ПЕРЕМЕННЫЕ


Следующие переменные среды должны влиять на выполнение CKSUM:

ДЛИННЫЙ Задайте значение по умолчанию для переменных интернационализации, которые не установлены или
нулевой. (См. Том Базовых определений POSIX.1-2008, Раздел 8.2,
Интернационализация Переменные за приоритет интернационализации
переменные, используемые для определения значений категорий локали.)

LC_ALL Если установлено непустое строковое значение, переопределить значения всех остальных
переменные интернационализации.

LC_CTYPE Определите локаль для интерпретации последовательностей байтов текстовых данных
как символы (например, однобайтовые, а не многобайтовые символы в
аргументы).

LC_MESSAGES
Определите языковой стандарт, который следует использовать, чтобы повлиять на формат и содержимое
диагностические сообщения записываются в стандартную ошибку.

НЛПСАТ Определите расположение каталогов сообщений для обработки LC_MESSAGES.

АСИНХРОННЫЙ СОБЫТИЯ


По умолчанию.

стандартный вывод


Для каждого успешно обработанного файла CKSUM утилита должна написать следующее
Формат:

"% u %d % s \ n ", <контрольная сумма>,# of октета>,пути>

Если нет файл был указан операнд, путь и его начало опускается.

СТДЕРР


Стандартная ошибка должна использоваться только для диагностических сообщений.

ВЫВОД FILES


Нет.

РАСПРОСТРАНЕНИЯ ОПИСАНИЕ


Нет.

ВЫХОД статус


Должны быть возвращены следующие значения выхода:

0 Все файлы были обработаны успешно.

> 0 Произошла ошибка.

ПОСЛЕДСТВИЯ OF ОШИБКИ


По умолчанию.

Ассоциация после разделах Он информативный.

ЗАЯВЛЕНИЕ ИСПОЛЬЗОВАНИЕ


Ассоциация CKSUM утилита обычно используется для быстрого сравнения подозрительного файла с надежным
версия того же самого, например, для обеспечения доставки файлов, передаваемых через шумные носители.
нетронутый. Однако это сравнение нельзя считать криптографически безопасным. В
вероятность того, что поврежденный файл выдаст такую ​​же CRC, что и исходный, невелика; преднамеренный
обман - это сложно, но, вероятно, возможно.

Хотя входные файлы в CKSUM может быть любого типа, результаты не обязательно должны быть такими, как если бы
ожидается для символьных файлов специальных устройств или для типов файлов, не описанных Системой
Объем интерфейсов POSIX.1-2008. Поскольку этот том POSIX.1-2008 не определяет
размер блока, используемый при вводе, контрольные суммы символьных специальных файлов не нужно обрабатывать
все данные в этих файлах.

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

ПРИМЕРЫ


Нет.

ОБОСНОВАНИЕ


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

статический неподписанный длинной crctab [] = {
0х00000000,
0x04c11db7, 0x09823b6e, 0x0d4326d9, 0x130476дк, 0x17c56b6b,
0x1a864db2, 0x1e475005, 0x2608edb8, 0x22c9f00f, 0x2f8ad6d6,
0x2b4bcb61, 0x350c9b64, 0x31cd86d3, 0x3c8ea00a, 0x384фбдбд,
0x4c11db70, 0x48d0c6c7, 0x4593e01e, 0x4152fda9, 0x5f15адак,
0x5bd4b01b, 0x569796c2, 0x52568b75, 0x6a1936c8, 0x6ed82b7f,
0x639b0da6, 0x675a1011, 0x791d4014, 0x7ddc5da3, 0x709f7b7a,
0x745e66cd, 0x9823b6e0, 0x9ce2ab57, 0x91a18d8e, 0х95609039,
0x8b27c03c, 0x8fe6dd8b, 0x82a5fb52, 0x8664e6e5, 0xbe2b5b58,
0xbaea46ef, 0xb7a96036, 0xb3687d81, 0xad2f2d84, 0xa9ee3033,
0xa4ad16ea, 0xa06c0b5d, 0xd4326d90, 0xd0f37027, 0xddb056fe,
0xd9714b49, 0xc7361b4c, 0xc3f706fb, 0xceb42022, 0xca753d95,
0xf23a8028, 0xf6fb9d9f, 0xfbb8bb46, 0xff79a6f1, 0xe13ef6f4,
0xe5ffeb43, 0xe8bccd9a, 0xec7dd02d, 0х34867077, 0x30476dc0,
0x3d044b19, 0x39c556ае, 0x278206аб, 0x23431b1c, 0x2e003dc5,
0x2ac12072, 0x128e9dcf, 0x164f8078, 0x1b0ca6a1, 0x1fcdbb16,
0x018aeb13, 0x054bf6a4, 0x0808d07d, 0x0cc9cdca, 0x7897ab07,
0x7c56b6b0, 0х71159069, 0x75d48dde, 0x6b93dddb, 0x6f52c06c,
0x6211e6b5, 0x66d0fb02, 0x5e9f46bf, 0x5a5e5b08, 0x571d7dd1,
0x53dc6066, 0x4d9b3063, 0x495a2dd4, 0x44190b0d, 0x40d816ba,
0xaca5c697, 0xa864db20, 0xa527fdf9, 0xa1e6e04e, 0xbfa1b04b,
0xbb60adfc, 0xb6238b25, 0xb2e29692, 0x8aad2b2f, 0x8e6c3698,
0x832f1041, 0x87ee0df6, 0x99a95df3, 0x9d684044, 0x902b669d,
0x94ea7b2a, 0xe0b41de7, 0xe4750050, 0xe9362689, 0xedf73b3e,
0xf3b06b3b, 0xf771768с, 0xfa325055, 0xfef34de2, 0xc6bcf05f,
0xc27dede8, 0xcf3ecb31, 0xcbffd686, 0xd5b88683, 0xd1799b34,
0xdc3abded, 0xd8fba05a, 0x690ce0ee, 0x6dcdfd59, 0x608edb80,
0x644fc637, 0x7a089632, 0x7ec98b85, 0x738aad5c, 0x774bb0eb,
0x4f040d56, 0x4bc510e1, 0х46863638, 0x42472b8f, 0x5c007b8a,
0x58c1663d, 0x558240e4, 0x51435d53, 0x251d3b9e, 0x21dc2629,
0x2c9f00f0, 0x285e1d47, 0x36194d42, 0x32d850f5, 0x3f9b762c,
0x3b5a6b9b, 0x0315d626, 0x07d4cb91, 0x0a97ed48, 0x0e56f0ff,
0x1011a0fa, 0x14d0bd4d, 0x19939b94, 0x1d528623, 0xf12f560e,
0xf5ee4bb9, 0xf8ad6d60, 0xfc6c70d7, 0xe22b20d2, 0xe6ea3d65,
0xeba91bbc, 0xef68060b, 0xd727bbb6, 0xd3e6a601, 0xdea580d8,
0xda649d6f, 0xc423cd6a, 0xc0e2d0dd, 0xcda1f604, 0xc960ebb3,
0xbd3e8d7e, 0xb9ff90c9, 0xb4bcb610, 0xb07daba7, 0xae3afba2,
0xaafbe615, 0xa7b8c0cc, 0xa379dd7b, 0x9b3660c6, 0x9ff77d71,
0x92b45ba8, 0x9675461ф, 0x8832161а, 0x8cf30плохой, 0x81b02d74,
0x857130c3, 0x5d8a9099, 0x594b8d2e, 0x5408abf7, 0x50c9b640,
0x4e8ee645, 0x4a4ffbf2, 0x470cdd2b, 0x43cdc09c, 0x7b827d21,
0x7f436096, 0x7200464ф, 0x76c15bf8, 0x68860бфд, 0x6c47164a,
0х61043093, 0x65c52d24, 0x119b4be9, 0x155a565e, 0х18197087,
0x1cd86d30, 0x029f3d35, 0x065e2082, 0x0b1d065b, 0x0fdc1bec,
0x3793a651, 0x3352bbe6, 0x3e119d3f, 0x3ad08088, 0x2497d08d,
0x2056cd3a, 0x2d15ebe3, 0x29d4f654, 0xc5a92679, 0xc1683bce,
0xcc2b1d17, 0xc8ea00a0, 0xd6ad50a5, 0xd26c4d12, 0xdf2f6bcb,
0xdbee767c, 0xe3a1cbc1, 0xe760d676, 0xea23f0af, 0xeee2ed18,
0xf0a5bd1d, 0xf464a0aa, 0xf9278673, 0xfde69bc4, 0x89b8fd09,
0x8d79e0be, 0x803ac667, 0x84fbdbd0, 0x9abc8bd5, 0x9e7d9662,
0x933eb0bb, 0x97ffad0c, 0xafb010b1, 0xab710d06, 0xa6322bdf,
0xa2f33668, 0xbcb4666d, 0xb8757bda, 0xb5365d03, 0xb1f740b4
};

беззнаковый длинный memcrc (const unsigned char * b, size_t n)
{
/ * Входные аргументы:
* const unsigned char * b == последовательность байтов к контрольной сумме
* size_t n == длина последовательности
*/

регистр size_t i;
регистр без знака c, s = 0;

for (i = n; i> 0; −−i) {
c = * b ++;
s = (s << 8) ^ crctab [(s >> 24) ^ c];
}

/ * Увеличить длину строки. * /
while (n! = 0) {
c = n & 0377;
n >> = 8;
s = (s << 8) ^ crctab [(s >> 24) ^ c];
}

return ~ s;
}

Историческая практика записи количества `` блоков '' была изменена на запись
количество октетов, так как последний не только более полезен, но и поскольку исторический
реализации не были последовательны в определении того, что означает `` блок ''.

Используемый алгоритм был выбран для повышения эксплуатационной надежности CKSUM, ни
System V и BSD сумма был выбран алгоритм. Поскольку все они были разными и
каждый был поведением по умолчанию в этих системах, не было реалистичного компромисса, если
либо были выбраны - какой-то набор исторических приложений сломается. Следовательно, название
был изменен на CKSUM. Хотя исторический сумма команды, вероятно, останутся
предоставляемые в течение многих лет, программы, разработанные для переносимости между системами, должны использовать
новое имя.

Выбранный алгоритм основан на стандарте ISO / IEC 8802-3: 1996.
(Ethernet) для поля последовательности проверки кадров. Используемый алгоритм не соответствует
техническое определение контрольная сумма; термин используется по историческим причинам. Длина
файл включается в вычисление CRC, потому что это параллельно с включением длины
поле Ethernet в его CRC, но также потому, что оно защищает от непреднамеренных конфликтов
между файлами, которые начинаются с разных серий нулевых октетов. Шанс, что два
разные файлы производят идентичные CRC, намного больше, когда их длина не
считается. Разделение длины и контрольной суммы самого файла даст
немного более надежный алгоритм, но историческое использование всегда заключалось в том, что одно число
(контрольная сумма в напечатанном виде) представляет собой подпись файла. Было решено, что
историческое использование было более важным соображением.

Ранние предложения содержали модификации алгоритма Ethernet, которые предполагали извлечение
значения таблицы всякий раз, когда промежуточный результат становится нулевым. Было продемонстрировано, что это меньше
надежнее, чем нынешний метод, и математически сложно описать или оправдать.

Используемый расчет идентичен приведенному в псевдокоде в упомянутом Sarwate
статья. Представление псевдокода:

X <- 0; Y <- 0;
для i <- m -1 шаг -1 до 0 do
начинать
T <- X(1) ^ A [i];
X(1) <- X(0); X(0) <- Y(1); Y(1) <- Y(0); Y(0) <- 0;
комментарий: f [T] и f '[T] обозначать домен Т-й слова in домен
ТАБЛИЦЫ f и f' ;
X <- X ^ f [T]; Y <- Y ^ f '[T];
конец

Псевдокод воспроизводится точно так, как указано; однако обратите внимание, что в случае CKSUM,
A [i] представляет собой байт файла, слова X и Y рассматриваются как один 32-битный
значение, а таблицы f и f' представляют собой единую таблицу, содержащую 32-битные значения.

В упомянутой статье Сарвате также обсуждается создание таблицы.

БУДУЩЕЕ НАПРАВЛЕНИЯ


Нет.

Используйте cksumposix онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    WxPython
    WxPython
    Набор модулей расширения Python, которые
    оберните классы кросс-платформенного графического интерфейса из
    wxWidgets.. Аудитория: Разработчики. Пользователь
    интерфейс: X Window System (X11), Win32...
    Скачать wxPython
  • 2
    пакетный файловый менеджер
    пакетный файловый менеджер
    Это файловый менеджер пакета Total War.
    проект, начиная с версии 1.7. А
    краткое введение в Warscape
    моддинг: ...
    Скачать пакетный файловый менеджер
  • 3
    IPerf2
    IPerf2
    Инструмент для измерения сетевого трафика
    Производительность TCP и UDP с метриками
    вокруг пропускной способности и задержки. В
    цели включают поддержание активного
    iperf треска ...
    Скачать IPerf2
  • 4
    fre: ac - бесплатный аудио конвертер
    fre: ac - бесплатный аудио конвертер
    fre:ac — бесплатный аудио конвертер и компакт-диск
    риппер для различных форматов и кодировщиков.
    Он поддерживает форматы MP3, MP4/M4A, WMA, Ogg.
    Форматы Vorbis, FLAC, AAC и Bonk
    служба поддержки, ...
    Скачать fre:ac - бесплатный аудио конвертер
  • 5
    Матплотлиб
    Матплотлиб
    Matplotlib - обширная библиотека
    для создания статических, анимированных и
    интерактивные визуализации на Python.
    Matplotlib упрощает простые вещи и
    трудная вещь ...
    Скачать Matplotlib
  • 6
    БотМан
    БотМан
    Напишите логику чат-бота один раз и
    подключите его к одному из доступных
    службы обмена сообщениями, включая Amazon
    Alexa, Facebook Messenger, Slack,
    Telegram или даже йо...
    Скачать BotMan
  • Больше »

Команды Linux

Ad