Scalabium Software

SMExport advertising
Knowledge for your independence'.
Home Delphi and C++Builder tips

#136: ELF hash algorithm

Sometime ago I posted a code for hash calculation of strings (CRC32 and easy method which is extracted from VCL sources). Today I want to post a code for ELF algorithm which allow to receive a strong distributed hash from string. This algorithm is very popular because can be implemented in any programming language (from VB to Java) and is a very-very fast (contain one easy loop only).

See a code below:

function ElfHash(const Value: string): Integer;
  i, x: Integer;
  Result := 0;
  for i := 1 to Length(Value) do
    Result := (Result shl 4) + Ord(Value[i]);
    x := Result and $F0000000;
    if (x <> 0) then
      Result := Result xor (x shr 24);
    Result := Result and (not x);

A few examples you can see in table below:

Text value

Calculated elf-hash

Scalabium Software 189378421
Scalabium 136833325 153641565 156665277

Published: December 13, 2001

See also
ABA Document Convert
Excel Web-stream
ABA Spreadsheet Convert
Excel Reader (dll)
Paradox to MS Access converter
ABA Database Convert
Paradox Viewer
DBISAM Password Recovery

Contact to webmaster


Borland Software Code Gear Scalabium Delphi tips

Copyright© 1998-2024, Scalabium Software. All rights reserved.

SMReport Autogenerated