
Быстрый поиск
Введите фрагмент названия статьи для поиска
Алгоритм Луна на Ассемблере
02.12.2025 | Категория: Образ мышления: Assembler | Автор: ManHunter

Алгоритм Луна на Ассемблере
Алгоритм валидации номеров банковских карт основан на элегантном и простом методе, известном как алгоритм Луна. Он назван в честь немецкого ученого Ханса Петера Луна, инженера компании IBM. Важно понимать, что алгоритм Луна - это не шифрование и не средство защиты от мошенничества. Он предназначен исключительно для обнаружения случайных ошибок при вводе, например, перестановки соседних цифр или замены одной цифры на другую. Ранее я реализовывал этот алгоритм на PHP, а теперь на Ассемблере.
Читать статью целиком »
Просмотров: 259 | Комментариев: 0
Алгоритм хеширования ElfHash на Ассемблере
20.06.2025 | Категория: Образ мышления: Assembler | Автор: ManHunter

Алгоритм хеширования ElfHash на Ассемблере
ElfHash - это хеш-функция, используемая в формате ELF (Executable and Linkable Format), основном формате исполняемых файлов, объектных файлов и разделяемых библиотек в Unix-подобных системах. Конкретно эта функция применяется для хеширования имен символов (функций, переменных) в хеш-таблицах символьных таблиц ELF-файлов. Этот алгоритм представляет собой элегантный компромисс между скоростью, качеством распределения и простотой реализации, что объясняет его долголетие в экосистеме Unix/Linux.
Читать статью целиком »
Просмотров: 50 | Комментариев: 1
Алгоритм хеширования Jenkins на Ассемблере
27.12.2024 | Категория: Образ мышления: Assembler | Автор: ManHunter
Семейство хеш-функций Jenkins ведет свою историю с 1997 года, когда этот алгоритм был впервые опубликован. Автором является Bob Jenkins, известный специалист в области создания генераторов псевдослучайных чисел и криптографии. Несмотря на кажущуюся простоту, хеш Jenkins обладает высокой скоростью работы и отличным лавинным эффектом. Даже на небольших объемах данных количество коллизий минимальное. Вот вариант этого алгоритма на Ассемблере.Code (Assembler) : Убрать нумерацию
- ;---------------------------------------------
- ; Функция вычисления хеша Jenkins
- ; Copyright (C) ManHunter / PCL
- ; https://www.manhunter.ru
- ;---------------------------------------------
- ; Параметры:
- ; lpData - указатель на строку
- ; dSize - длина строки
- ; На выходе:
- ; EAX = полученный хеш
- ;---------------------------------------------
- proc Jenkins lpData:DWORD, dSize:DWORD
- push ebx ecx esi
- ; Инициализация
- xor ebx,ebx
- ; Длина строки
- mov ecx,[dSize]
- or ecx,ecx
- je .loc_ret
- mov esi,[lpData]
- @@:
- lodsb
- movzx eax,al
- ; hash += key[i];
- add ebx,eax
- ; hash += hash << 10;
- mov eax,ebx
- shl eax,10
- add ebx,eax
- ; hash ^= hash >> 6;
- mov eax,ebx
- shr eax,6
- xor ebx,eax
- ; i++
- dec ecx
- jnz @b
- .loc_ret:
- ; hash += hash << 3;
- mov eax,ebx
- shl eax,3
- add ebx,eax
- ; hash ^= hash >> 11;
- mov eax,ebx
- shr eax,11
- xor ebx,eax
- ; hash += hash << 15;
- mov eax,ebx
- shl eax,15
- add eax,ebx
- pop esi ecx ebx
- ret
- endp
Читать статью целиком »
Просмотров: 708 | Комментариев: 0
Алгоритм хеширования MaHash8 на Ассемблере
28.09.2024 | Категория: Образ мышления: Assembler | Автор: ManHunter

Алгоритм хеширования MaHash8 на Ассемблере
MaHash8 - эффективная функция с высокой производительностью, которая позволяет выполнять операции хеширования с минимальным количеством коллизий. Она основана на простых операциях, имеет очень понятную структуру и легко реализуется на различных языках программирования.
Читать статью целиком »
Просмотров: 643 | Комментариев: 3
Использование системных функций хеширования
07.05.2022 | Категория: Образ мышления: Assembler | Автор: ManHunter

Использование системных функций хеширования
Я уже выкладывал на сайте ассемблерные реализации алгоритмов хеширования MD4, MD5 и SHA1. Но в Windows есть уже готовые функции для подсчета не только этих хешей, но и некоторых других. Конечно, делать все самому гораздо приятнее для души и полезнее для мозгов, но почему бы не переложить часть работы на систему? Как говорил один мой хороший товарищ: "У лошади голова большая, вот пусть она и думает".
Читать статью целиком »
Просмотров: 1139 | Комментариев: 5


