C# Class Hugula.Update.Crc32

Implements a 32-bit CRC hash algorithm compatible with Zip etc.
Crc32 should only be used for backward compatibility with older file formats and algorithms. It is not secure enough for new applications. If you need to call multiple times for the same data either use the HashAlgorithm interface or remember that the result of one Compute call needs to be ~ (XOR) before being passed in as the seed for the next Compute call.
Inheritance: System.Security.Cryptography.HashAlgorithm
Afficher le fichier Open project: tenvick/hugula

Méthodes publiques

Méthode Description
Compute ( byte buffer ) : uint
Compute ( uint seed, byte buffer ) : uint
Compute ( uint polynomial, uint seed, byte buffer ) : uint
Crc32 ( ) : System
Crc32 ( uint polynomial, uint seed ) : System
GetHashResult ( ) : uint
Initialize ( ) : void

Méthodes protégées

Méthode Description
HashCore ( byte buffer, int start, int length ) : void
HashFinal ( ) : byte[]

Private Methods

Méthode Description
CalculateHash ( uint table, uint seed, byte buffer, int start, int size ) : uint
InitializeTable ( uint polynomial ) : uint[]
UintToBigEndianBytes ( uint uint32 ) : byte[]

Method Details

Compute() public static méthode

public static Compute ( byte buffer ) : uint
buffer byte
Résultat uint

Compute() public static méthode

public static Compute ( uint seed, byte buffer ) : uint
seed uint
buffer byte
Résultat uint

Compute() public static méthode

public static Compute ( uint polynomial, uint seed, byte buffer ) : uint
polynomial uint
seed uint
buffer byte
Résultat uint

Crc32() public méthode

public Crc32 ( ) : System
Résultat System

Crc32() public méthode

public Crc32 ( uint polynomial, uint seed ) : System
polynomial uint
seed uint
Résultat System

GetHashResult() public méthode

public GetHashResult ( ) : uint
Résultat uint

HashCore() protected méthode

protected HashCore ( byte buffer, int start, int length ) : void
buffer byte
start int
length int
Résultat void

HashFinal() protected méthode

protected HashFinal ( ) : byte[]
Résultat byte[]

Initialize() public méthode

public Initialize ( ) : void
Résultat void