C# Class Enyim.FNV64

Implements a 64 bit long Fowler-Noll-Vo hash.
Calculation found at http://lists.danga.com/pipermail/memcached/2007-April/003846.html, but it is pretty much available everywhere
Inheritance: System.Security.Cryptography.HashAlgorithm
Show file Open project: xianrendzw/LightFramework.Net

Protected Properties

Property Type Description
CurrentHashValue ulong

Public Methods

Method Description
FNV64 ( ) : System

Initializes a new instance of the T:FNV64 class.

Initialize ( ) : void

Initializes an instance of T:FNV64.

Protected Methods

Method Description
HashCore ( byte array, int ibStart, int cbSize ) : void

Routes data written to the object into the T:FNV64 hash algorithm for computing the hash.

HashFinal ( ) : byte[]

Returns the computed T:FNV64 hash value after all data has been written to the object.

Private Methods

Method Description
IUIntHashAlgorithm ( byte data ) : uint

Method Details

FNV64() public method

Initializes a new instance of the T:FNV64 class.
public FNV64 ( ) : System
return System

HashCore() protected method

Routes data written to the object into the T:FNV64 hash algorithm for computing the hash.
protected HashCore ( byte array, int ibStart, int cbSize ) : void
array byte The input data.
ibStart int The offset into the byte array from which to begin using data.
cbSize int The number of bytes in the array to use as data.
return void

HashFinal() protected method

Returns the computed T:FNV64 hash value after all data has been written to the object.
protected HashFinal ( ) : byte[]
return byte[]

Initialize() public method

Initializes an instance of T:FNV64.
public Initialize ( ) : void
return void

Property Details

CurrentHashValue protected property

protected ulong CurrentHashValue
return ulong