logo1a.gif

logo2.jpg
crta.jpg (1577 bytes)
      Welcome        
      About  

Hash functions test data

Main intention and good quality of a hash function is its ability to distribute well the input data over the hash table.

When comes to testing of program using hash table it is not the problem to test with well distributed data. The problem is to test collisions under controlled circumstances.

We provide test data - sets of ASCII strings with the same hash value. Test data can be used in unit test or in robustness test where the program can be feed with several millions of collisions.

The hash functions we provide data for are described on the "Eternally Confuzzled - The Art of Hashing" web page.

The following hash functions are supported:

Hash function Code Supported
Rotating hash vrt yes
Bernstein hash bern yes
Modified Bernstein sbern yes
Shift-Add-XOR hash sax yes
FNV hash fnv yes
One-at-a-Time hash oat yes
JSW hash jsw yes
ELF hash elf no (ask)
Jenkins hash jen no

Here is a sample set of strings with the same jsw hash value, 0xbacabeee:

/space/quote-a/1/z_01hbacabeeehbayfxwdy
/space/quote-a/2/z_02hbacabeeehafavqxth
/space/quote-a/3/z_03hbacabeeehaaofzyxv

The prefixes, "/space/quote-a/1/"... are taken from the file. The second prefix "z_" also includes the unique identification of the string. The hash value, 0xbacabeee, is included into the string in hex form, i.e. surrounded by characters "h". The hash value can be included in decimal form (surrounded by character "d"):

/space/quote-a/1/z_01d3133849326dadaqoavx
/space/quote-a/2/z_02d3133849326danjhiopi
/space/quote-a/3/z_03d3133849326dagcrwlis

or not at all:

/space/quote-a/1/z_01aqttdwlg
/space/quote-a/2/z_02agnsnbrh
/space/quote-a/3/z_03aecdltvj

Prefixes can be excluded too:

z_01ahgvrnwv
z_02bryqkfzb
z_03adcsxblq
bqbgptwppk
cebckkifu
dnatcwnwnl

Up to ten millions strings with the same hash value (of the supported hash function) can be provided on request. Ask for price list.

Note

This is the proof that above mentioned hash functions are not cryptographically safe. Hashes are actually broken by generating millions of test data with the same hash value.

If you use hashes as "unique" identification of certain data in your program (like file names, user names, user passwords,...), test data can help you see how your application can be broken. Use hash test data and improve your software!

Back   Top


      Activities
         Software dev.
         Software solutions
            Triangulation
            Laser scanners
            Circular arcs
            RST/ISP Control
            CO2 frequency
            Hash test data
            D/A converter
            Solar hot water
            HPGL file area
            Pump shapes
      IDA-STEP
crta.jpg (2842 bytes)
kvadratki.gif (5422 bytes)kvadratki.gif (5422 bytes)  

(c) ZAMISEL d.o.o.
info@zamisel.com