LINUX.ORG.RU

добавить в файл контрольную сумму

 , ,


0

2

Можно ли добавить в файл контрольную сумму для всего файла вместе с ней? Т.е. чтобы контрольная сумма тоже считалась контентом и тоже учавствовала в вычислении контрольной суммы. Мне кажется это возможно для тривиальных алгоритмов. А для криптографических хэшей нет т.к. они специально сделаны так чтобы их сложно было предсказать.

Вопрос чисто теоретический.

Первое, что попалось в гугле - http://www.nayuki.io/page/forcing-a-files-crc-to-any-value

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

qbe ()
Последнее исправление: qbe (всего исправлений: 1)
Ответ на: комментарий от qbe

это является пунктом:

Мне кажется это возможно для тривиальных алгоритмов.

а для более сложных?

anonymous ()
Ответ на: комментарий от qbe

Я кстати с crc16 так делал, добавлял к потоку два байта crc16, а на другом конце считал, если нуль, то хорошо.

anonymous ()
Ответ на: комментарий от anonymous

Для более сложных реализуется тяжелее - большая вычислительная сложность. Но примеры есть - можно погуглить, например, md5 collision.

Теоретически, любой n-битный хэш можно получить, изменив в исходных данных не более n бит.

qbe ()
Ответ на: комментарий от qbe

А ты не занимался аналоговой частью в stm32? Ну, там, op amps, компараторы... А то примеров по компараторам в инете практически нет (только два) и, что ещё хуже, они не подходят мне. Я использую либу от mbed.org. Она, похоже, использует древний cmsis и там всё по-другому. Я примерно вкурил что надо делать, но всё равно есть сомнения. Вот хотел спросить нет ли примеров в загашнике...

true_admin ★★★★★ ()
Ответ на: комментарий от true_admin

Примеров нет у меня. Экспериментируй :) В stm32 всё настраивается примерно одинаково. Сначала включить clock у компаратора и у gpio, затем сконфигурировать gpio как соотв. альтернативную функцию. У компаратора выбрать источник сигнала на негативном входе. Ну и выбрать подключение выхода компаратора.

Я использую стандартные SPL и CMSIS, хоть некоторые и воротят нос от них (типа неоптимально, баги, нет поддержки koi-8^W^W^W). На начальном этапе создания программы сильно облегчают жизнь, оверхед небольшой, включённые ASSERT помогают поймать глупые ошибки.

qbe ()
Ответ на: комментарий от qbe

Ассерты врубать через -DUSE_FULL_ASSERT?

Ещё вопрос по таргетам. Вот тут есть два таргета которые мне вроде как подходят: TARGET_STM32F3XX и TARGET_STM32F3 (мой МК stm32f302). Но внутри либы-то по-разному устроены. Как так вышло? Я правильно понимаю что TARGET_STM32F3 устарел?

true_admin ★★★★★ ()
Ответ на: комментарий от true_admin

Насколько я понял, разница только в том, что TARGET_STM32F3XX - это SPL, а TARGET_STM32F3 - это HAL.

Я лично в различия HAL и STL глубоко не забирался (не было нужды пока что), разбирали на хабре http://habrahabr.ru/post/249395/

qbe ()
Ответ на: комментарий от true_admin

Не используй SPL: даже сами STM от этого шлака отказались.

Я opencm3 сейчас использую. Вполне прилично. Для сниппетов себе репу сделал.

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Eddy_Em

Помнишь мой БП? Ну, вот этот: http://i.imgur.com/F3KYpEd.jpg . Короче, он претерпел кое-какие изменения. Там есть компаратор. Вместо дискретного компаратора на ОУ я хочу использовать компаратор встроенный в мой МК (чтобы покомпактнее було). Правда, пишут что он плохой т.к. на выходе бывают непонятные мелкие всплески. Поэтому мне ещё надо будет где-то осциллограф добыть и посмотреть что там творится. Накрайняк диод поставлю на выходе компаратора чтобы отсечь шум.

true_admin ★★★★★ ()
Ответ на: комментарий от true_admin

Т.е. тебе нужен по сути аналоговый watchdog? Есть такое у STM32.

Но по-моему, аналоговый компаратор понадежней будет.

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от qbe

Теоретически, любой n-битный хэш можно получить, изменив в исходных данных не более n бит.

Нет.

tensai_cirno ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.