Quantcast

Хеши

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Хеши

витя ерыгин
Я переписал на ассме ( в маш.кодах ) хеш-функцию faq6
Она частично урезана, и считает хеш наоборот - с конца к началу.
Где бы мне протестировать её насчёт коллизий? 
Немного стрёмно переходить сразу к испытаниям работой
Вот код:

: FAQ6A
  [
    
    0x8B C, 0xC8 C, \ MOV ECX, EAX
    0x33 C, 0xC0 C, \ XOR EAX, EAX
    HERE
    0x8B C, 0x5D C, 0x00 C, \ MOV EBX, 0 [EBP]
    0xFF C, 0xC9 C, \ DEC ECX
    0x03 C, 0xD9 C, \ ADD EBX, ECX
    
    0x0F C, 0xB6 C, 0x1B C, \ MOVZX EBX, BYTE [EBX]
    0x03 C, 0xC3 C, \ ADD EAX, EBX
    0x8B C, 0xD8 C, \ MOV EBX, EAX
    0xC1 C, 0xE3 C, 10 C, \ SHL EBX, 10
    0x03 C, 0xC3 C, \ ADD EAX,EBX
    0x8B C, 0xD8 C, \ MOV EBX, EAX
    0xC1 C, 0xEB C, 16 C, \ SHR EBX, 16
    0x33 C, 0xC3 C, \ XOR EAX, EBX
    0xE3 C, 2 C,    \ JECXZ
    0xEB C,  HERE - 1- C,  \ JMP SHORT
    0x8D C, 0x6D C, 0x04 C, \ NIP
    ]
  ;


--
Виктор Ерыгин
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Хеши

Ruvim Pinka

2016-07-25 18:40 GMT+03:00 витя ерыгин <[hidden email]>:
Я переписал на ассме ( в маш.кодах ) хеш-функцию faq6
Она частично урезана, и считает хеш наоборот - с конца к началу.
Где бы мне протестировать её насчёт коллизий? 

Вообще, испытывать хэш-функцию следует на выборке из того набора данных, на котором функция будет использоваться. И затачивать хэш-функцию тоже следует соответственно.

В качестве примера см. devel/~pinka/samples/2003/test-hash/
— сравнение различных хэш-функция в применении к хэшированию слов из словаря Форта (см. там readme.txt).

Для этого набора данных приведеная функция FAQ6A на втором месте по количеству уникальных хэшей (среди других пяти функций), но самая медленная по производительности.

Для включения FAQ6A в тест, добавьте файл hash-faq6a.f с определением FAQ6A ( addr len -- hash )
и слова HASH

: HASH ( addr len u0 -- u1 )
  >R FAQ6A R> UMOD
;


И в tester.f строчку:

hs hash-faq6a.f



--
Ruvim


------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Loading...