Вычисление простого хеш-кода для блока данныхDelphi , Синтаксис , Память и УказателиВычисление простого хеш-кода для блока данных
Автор: Алексей Вуколов { **** UBPFD *********** by delphibase.endimus.com **** >> Вычисление простого хеш-кода для блока данных Вычисляет значение простой хеш-функции (xor + циклический сдвиг) для блока данных. Описание параметров: Data - указатель на блок данных DataSize - размер блока Возвращаемое значение - значение хеш-функции Зависимости: нет Автор: vuk, vuk@fcenter.ru Copyright: Алексей Вуколов Дата: 18 апреля 2002 г. ***************************************************** } function CalcHash(Data: pointer; DataSize: integer): integer; register; asm push ebx push esi push edi mov esi, Data xor ebx, ebx or esi, esi jz @@Exit mov edx, DataSize or edx,edx jz @@Exit xor ecx,ecx @@Cycle: xor eax,eax mov al,[esi] inc esi rol eax,cl xor ebx,eax inc ecx dec edx jnz @@Cycle @@Exit: mov eax,ebx pop edi pop esi pop ebx end; Пример использования: //вычисление хеш-кода для строки var i: integer; s: string; begin s := 'test'; i := CalcHash(pointer(S), length(S)); Вычисление простого хеш-кода для блока данных - это функция, которая использует XOR и циклический сдвиг для расчета значения хеш-функции для указанного блока данных. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Память и Указатели ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |