Как вычислить CRC (контрольную сумму) для файлаDelphi , Синтаксис , ШифрованиеАвтор: http://www.swissdelphicenter.ch function GetCheckSum(FileName: string): DWORD; var F: file of DWORD; P: Pointer; Fsize: DWORD; Buffer: array[0..500] of DWORD; begin FileMode := 0; AssignFile(F, FileName); Reset(F); Seek(F, FileSize(F) div 2); Fsize := FileSize(F) - 1 - FilePos(F); if Fsize > 500 then Fsize := 500; BlockRead(F, Buffer, Fsize); Close(F); P := @Buffer; asm xor eax, eax xor ecx, ecx mov edi , p @again: add eax, [edi + 4*ecx] inc ecx cmp ecx, fsize jl @again mov @result, eax end; end; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(IntToStr(GetCheckSum('c:\Autoexec.bat'))); end; Программа на языке Delphi для расчета контрольной суммы CRC (Cyclic Redundancy Check) для файла. Функция Расшифровка кода:
В процедуре примера Обратите внимание, что это реализация является специфичной для Delphi и может не быть совместимой с другими языками программирования или платформами. Кроме того, есть более эффективные и точные способы расчета контрольных сумм CRC, такие как использование встроенных функций или библиотек. В статье описывается алгоритм вычисления контрольной суммы CRC для файла с помощью функции GetCheckSum на языке Delphi. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Шифрование ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |