Scalabium Software |
|
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; var i, x: Integer; begin Result := 0; for i := 1 to Length(Value) do begin 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); end; end; A few examples you can see in table below:
|
|
Copyright© 1998-2024, Scalabium
Software. All rights reserved. |