Алгоритмы вычисление контрольной суммы., ufobject, 23-Ноя-06, 14:15 [смотреть все]Приветствую вас, онлайн-духи Ж)! Есть задача запихать модуль вычисления контрольной суммы в некую, не особо шуструю, железяку. Сия железяка должна вычислять эту самую контрольную сумму "на лету" при копировании и записи (на нее/с нее), причем максимально быстро... Так как с этими алгоритмами вычисления контрольных сумм я никогда дело не имел и слабо представляю сколько их всего существует, прошу помощи у вас. Подскажите, где бы мне почитать статейку грамотную да кодов для тестирования скорости набрать? Заранее благодарю вас, уважаемые линуксойды. P.S. особо интересуют MD5 HASH MD4 |
- Алгоритмы вычисление контрольной суммы., perece, 15:58 , 23-Ноя-06 (1)
>Приветствую вас, онлайн-духи Ж)! Есть задача запихать модуль вычисления контрольной суммы в >некую, не особо шуструю, железяку. Сия железяка должна вычислять эту самую >контрольную сумму "на лету" при копировании и записи (на нее/с нее), >причем максимально быстро... Так как с этими алгоритмами вычисления контрольных сумм >я никогда дело не имел и слабо представляю сколько их всего >существует, прошу помощи у вас. Подскажите, где бы мне почитать статейку >грамотную да кодов для тестирования скорости набрать? >Заранее благодарю вас, уважаемые линуксойды. >P.S. особо интересуют MD5 HASH MD4 если железка не шустрая, то пусть они вас особо не интересуют. MD2 или даже CRC - это ваш удел\^P^/
- Алгоритмы вычисление контрольной суммы., Boris Polevoy, 18:24 , 23-Ноя-06 (2)
>Приветствую вас, онлайн-духи Ж)! Есть задача запихать модуль вычисления контрольной суммы в >некую, не особо шуструю, железяку. Сия железяка должна вычислять эту самую >контрольную сумму "на лету" при копировании и записи (на нее/с нее), >причем максимально быстро... Так как с этими алгоритмами вычисления контрольных сумм >я никогда дело не имел и слабо представляю сколько их всего >существует, прошу помощи у вас. Подскажите, где бы мне почитать статейку >грамотную да кодов для тестирования скорости набрать? >Заранее благодарю вас, уважаемые линуксойды. >P.S. особо интересуют MD5 HASH MD4 Основной вопрос: для чего расчитывать контрольную сумму? - проверка целостности коротких блоков данных (сетевых пакетов): CRC16, CRC32, in_cksum; - проверка целостности больших файлов: функции хеширования md5, sha1 и т.д. и т.п. Защита от подмена данных - хеши, защита от ошибок при передачи данных - контрольные суммы.
- Алгоритмы вычисление контрольной суммы., ufobject, 15:18 , 24-Ноя-06 (3)
>>Приветствую вас, онлайн-духи Ж)! Есть задача запихать модуль вычисления контрольной суммы в >>некую, не особо шуструю, железяку. Сия железяка должна вычислять эту самую >>контрольную сумму "на лету" при копировании и записи (на нее/с нее), >>причем максимально быстро... Так как с этими алгоритмами вычисления контрольных сумм >>я никогда дело не имел и слабо представляю сколько их всего >>существует, прошу помощи у вас. Подскажите, где бы мне почитать статейку >>грамотную да кодов для тестирования скорости набрать? >>Заранее благодарю вас, уважаемые линуксойды. >>P.S. особо интересуют MD5 HASH MD4 > >Основной вопрос: для чего расчитывать контрольную сумму? >- проверка целостности коротких блоков данных (сетевых пакетов): CRC16, CRC32, in_cksum; >- проверка целостности больших файлов: функции хеширования md5, sha1 и т.д. и >т.п. > >Защита от подмена данных - хеши, защита от ошибок при передачи данных >- контрольные суммы. вообще онтрольная сумма нужна для провеки подленности скопированного файла. Должно это происходить следующим образом - юзер копирует файл на некий носитель, файл может быть любого размера. В процессе копирования необходимо просчитывать контрольную сумму файла, причем максимально быстро, чтоб не тормозить процесс копирования слишком сильно. Я расчитываю реализовать просчет алгоритмом MD2. Но тут всплыла еще одна проблемка - дело в том, что для просчета контрольной суммы требуется весь файл целиком, а в данном случае я могу просчиьывать "на лету" только фрагмент копируемого файла (так как заранее не известно размер файла да и достаточный буфер выделить не смогу если большой файл будет). Получается что если я буду брать размер фрагмента в 1Кб, а копироваться будет файл на 10Кб, у меня будет 10 различных контрольных сумм, а мне нужна 1 сумма на весь файл. Как бы мне реализовать быстрый поточный подсчет? Может есть еще какие алгоритмы более подходящие для решения этой задачи, чем MD2?
- Алгоритмы вычисление контрольной суммы., perece, 11:53 , 27-Ноя-06 (4)
>вообще онтрольная сумма нужна для провеки подленности скопированного файла. Должно это происходить >следующим образом - юзер копирует файл на некий носитель, файл может >быть любого размера. В процессе копирования необходимо просчитывать контрольную сумму файла, >причем максимально быстро, чтоб не тормозить процесс копирования слишком сильно. Я >расчитываю реализовать просчет алгоритмом MD2. Но тут всплыла еще одна проблемка >- дело в том, что для просчета контрольной суммы требуется весь >файл целиком, а в данном случае я могу просчиьывать "на лету" >только фрагмент копируемого файла (так как заранее не известно размер файла >да и достаточный буфер выделить не смогу если большой файл будет). >Получается что если я буду брать размер фрагмента в 1Кб, а >копироваться будет файл на 10Кб, у меня будет 10 различных контрольных >сумм, а мне нужна 1 сумма на весь файл. Как бы >мне реализовать быстрый поточный подсчет? Может есть еще какие алгоритмы более >подходящие для решения этой задачи, чем MD2? считай дайджест поблочно (т.е. каждого куска 8К скажем, или сколько у тебя там промежуточный буфер размером, однако для MD2 желательно кратно 16 байт, чтобы не было lead-out) и делай xor на "накопленый" (инициализируешь нулями)\^P^/
|