<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://t8.lbstr.eu/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%3AAlone_Wolf_NRR%2FCRC</id>
	<title>Участник:Alone Wolf NRR/CRC - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://t8.lbstr.eu/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%3AAlone_Wolf_NRR%2FCRC"/>
	<link rel="alternate" type="text/html" href="https://t8.lbstr.eu/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Alone_Wolf_NRR/CRC&amp;action=history"/>
	<updated>2026-11-03T20:29:29Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://t8.lbstr.eu/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Alone_Wolf_NRR/CRC&amp;diff=39989&amp;oldid=prev</id>
		<title>imported&gt;PVE: PVE переименовал страницу Портал:Ниасилили/CRC в Участник:Alone Wolf NRR/CRC без оставления перенаправления: Enjoy your AIDS</title>
		<link rel="alternate" type="text/html" href="https://t8.lbstr.eu/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Alone_Wolf_NRR/CRC&amp;diff=39989&amp;oldid=prev"/>
		<updated>2021-01-26T11:21:02Z</updated>

		<summary type="html">&lt;p&gt;PVE переименовал страницу &lt;a href=&quot;/index.php?title=%D0%9F%D0%BE%D1%80%D1%82%D0%B0%D0%BB:%D0%9D%D0%B8%D0%B0%D1%81%D0%B8%D0%BB%D0%B8%D0%BB%D0%B8/CRC&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Портал:Ниасилили/CRC (страница не существует)&quot;&gt;Портал:Ниасилили/CRC&lt;/a&gt; в &lt;a href=&quot;/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Alone_Wolf_NRR/CRC&quot; title=&quot;Участник:Alone Wolf NRR/CRC&quot;&gt;Участник:Alone Wolf NRR/CRC&lt;/a&gt; без оставления перенаправления: &lt;a href=&quot;/index.php?title=Enjoy_your_AIDS&quot; class=&quot;mw-redirect&quot; title=&quot;Enjoy your AIDS&quot;&gt;Enjoy your AIDS&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;!-- {{Архив}}&lt;br /&gt;
{{Матан-капча}} --&amp;gt;&lt;br /&gt;
{{Recycle|20210122||saveto=Alone Wolf NRR}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CRC&amp;#039;&amp;#039;&amp;#039; ({{Lang-en|Cyclic Redundance Checksum}}) — &amp;#039;&amp;#039;контрольная сумма&amp;#039;&amp;#039; некоторых произвольных данных. Некоторая цифра в заголовке файла, получаемая в результате замысловатой операции со всеми её значащими байтами(обычно последовательным сложением с прокруткой на каждом цикле по основанию 2, то есть домножением результата на 2 и добавлением единицы при переполнении). Сама по себе никакого информационного смысла не имеет, но обладает примечательным свойством — изменяться при любом изменении любого байта файла. Причём в зависимости от того, какого конкретно из них — по разному. Что даёт право операционной системе простым сравнением вычисленного значения со значением в заголовке решать — считать файл успешно прочитанным, или залупиться на носитель, с которого читает, стандартной системной табличкой c одноимённой [[ЕГГОГ|гогой]] и кнопочками «Нафиг-Нефиг-Пофиг». А любым коммуникационным компонентам — делать то же самое с передаваемой информацией, решая, принять пакет как правильный, или перезапросить.&lt;br /&gt;
&lt;br /&gt;
Таким образом является важным фактором в процессе проверки &amp;#039;&amp;#039;целостности информации&amp;#039;&amp;#039; на всех стадиях её хранения и передачи, поэтому встроена во многие компоненты операционной системы чуть менее чем полностью.&lt;br /&gt;
&lt;br /&gt;
Имеет разрядность традиционно вдвое большую чем цифирки, над которыми вычисление производится, просто тупо за счёт того, чтобы камушку вычислять её было быстрее и проще базовыми командами ядра, не подключая к процессу математический сопроцессор(ALU), страничный контроллер ПДП и другую «тяжёлую артиллерию». Из-за чего код её вычисления на Ассемблере(любой разрядности) занимает всего 8 байт. Поэтому по видам камушков подразделяется на несколько видов:&lt;br /&gt;
&lt;br /&gt;
== Собственно CRC ==&lt;br /&gt;
Стандартная (8-битная) контрольная сумма. Разрядность 16 бит(тип переменной Word). Считается последовательным сложением каждого байта блока с домножением результата на 2 (то есть f&amp;lt;sub&amp;gt;n+1&amp;lt;/sub&amp;gt;=(f&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;+x)*2+Z, где x-значение байта, а Z — значение флага переполнения после сложения и умножения на тупо «встал-не встал». И так в цикле, пока значащие байты блока не кончатся. Таким образом логика проста: Сложить и прокрутить. Потому контрольную сумму, собственно и называют &amp;#039;&amp;#039;циклической&amp;#039;&amp;#039;. Могёт принимать значения от 0 до 65535 (FFFFh).&lt;br /&gt;
&lt;br /&gt;
== CRC32 ==&lt;br /&gt;
В сути то же самое, только поскольку 32-разрядному камушку удобнее проглатывать байты по 2, то и суммировать их быстрее за одну операцию сдвоенными. Соответственно складывая 16-битные значения. Конечная разрядность получается понятное дело эти самые 32 бита. Тип переменной Cardinal. Значение от 0 до 4294967295(FFFF:FFFFh)&lt;br /&gt;
&lt;br /&gt;
== CRC64 ==&lt;br /&gt;
С появлением 64-разрядных процессоров соответственно и контрольная сумма «ещё немного подросла». Да, тут всё пока точно так же, как и в предыдущем случае. Только проглот по 4 байта и соответственно значения 32-битные, а сумма 64-битная. Максимальное значение 2&amp;lt;sup&amp;gt;64&amp;lt;/sup&amp;gt;−1(Ну его нафиг, считайте сами. FFFF:FFFF:FFFF:FFFFh это). Тип переменной по логике Word64, хотя во многих языках и размерности то такой(в отличии от Int64) нету!&lt;br /&gt;
&lt;br /&gt;
== MD4,MD5(ака CRC128) ==&lt;br /&gt;
Когда файлы стали большими, начали исчисляться в гигабайтах и перестали влезать даже на DVDшные болванки, и затрещал по швам при этом даже FAT32, выяснилось, что простым наращиванием разрядности контрольной суммы тут для обеспечения достаточно педантичной проверки достоверности уже не обойтись. И даже значение вариантов 1/2&amp;lt;sup&amp;gt;64&amp;lt;/sup&amp;gt; начало повторяться не там, где надо, и давать сбои. Поэтому пришлось не только самому контрольному значению до 128 бит подрасти и обозваться уже &amp;#039;&amp;#039;хэшем&amp;#039;&amp;#039;(ибо ни в одну переменную эта [[НЁХ|хрень]] уже тупо не помещается), но и существенно усложниться алгоритму его вычисления. Кому интересно, как её вычислять — идите вы…[[:w:Циклический избыточный код|на Педивикию]]. Там и формулы есть…&lt;br /&gt;
&lt;br /&gt;
== ОбCRCруемые обьекты ==&lt;br /&gt;
Понятное дело, что в практическом плане неплохо бы знать не только достоверна информация или нет, но и где именно затесалась злосчастная [[ЕГГОГ|гога]]. Поэтому одной единственной контрольной суммой файла в системе дело ни фига не обходится. Их обычно много и они бывают разными.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Общая&amp;#039;&amp;#039;&amp;#039; контрольная сумма — в файловой системе хранится в кластере каталога, в котором лежит файл в его атрибутах. В архивном файле — тот же конь. В телекоммуникационных средах обычно передаётся &amp;#039;&amp;#039;последней&amp;#039;&amp;#039; перед завершением сеанса передачи файла.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Кластерная&amp;#039;&amp;#039;&amp;#039;(блочная) контрольная сумма — Контрольная сумма одного кластера файла(минимального элемента файловой системы. Да, даже файл размером в 1 байт занимает на диске полный кластер. Вот такой вот [[Жлоб|эффективный]] у неё КПД). Хранится в таблице размещения файлов про каждый кластер отдельная. При перманентном фэйле кластер отстреливается(вешается ему маркер «Бэд блок»), а его содержимое пересохраняется в другое место(уж как прочлось) с подправкой CRC. При передаче данных превращается в &amp;#039;&amp;#039;&amp;#039;пакетную&amp;#039;&amp;#039;&amp;#039; и передаётся в заголовке пакета(вначале или в конце, зависимо от протокола передачи). Именно её сверкой пакет и принимается или отбраковывается(перезапрашивается).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Построчные&amp;#039;&amp;#039;&amp;#039; контрольные суммы — В сути своей — пережиток дикого прошлого компьютеризации, когда иной раз возникали обстоятельства, когда двоичный код приходилось &amp;#039;&amp;#039;набивать ручками&amp;#039;&amp;#039; со здоровенных таблиц(дампов). Именно оттуда и пошло нынешнее народное название этим словом [[BSoD]]. Контрольная сумма 16 байт(одной строки дампа). Во многих HEX-редакторах до сих пор отображается справа от строк наравне с ASCII-представлением набранного. И иногда ж практически надобится. Олдфаги ещё помнят такие таблицы, печатавшиеся в 80-х годах в журналах Радио и приложении к Юному Технику для «народных умельцев», собиравших на коленке не менее народные поделки Микро-80, РК-86 и пр. интересные зверюги на слегка обработанном напильником по стыренным промасленным чертежам i8080, отечественном булыжнике КР580ВМ80А.&lt;br /&gt;
* Ну и &amp;#039;&amp;#039;&amp;#039;Функциональные&amp;#039;&amp;#039;&amp;#039; контрольные суммы — поскольку контрольную сумму можно вычислить для любого произвольного куска данных — в помехозащищённых их форматах (например RIFF) в заголовках для критичных параметров есть &amp;#039;&amp;#039;контрольные суммы их полей&amp;#039;&amp;#039;. А в потоковых форматах(JPeg, MPeg и т. п.), в сути своей представляющих из себя банальные &amp;#039;&amp;#039;непрерывные архивные файлы&amp;#039;&amp;#039; с динамическим ключом — там есть ещё контрольные суммы блоков данных, участвующие в проверке достоверности их распаковки в воспроизводящее устройство. Банально чтобы последнее от запихивания ему в буфер непонять чего случайно лапки не откинуло.&lt;/div&gt;</summary>
		<author><name>imported&gt;PVE</name></author>
	</entry>
</feed>