C# Класс DS4Windows.Crc32Algorithm

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.
Наследование: HashAlgorithm
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
CalculateBasicHash ( uint &seed, Array &buffer, int offset, int size ) : uint
CalculateFasterBT78Hash ( uint &seed, Array &buffer, int &start, int &size ) : uint

More optimized CRC-32 algorithm that only works with 78 byte arrays

Compute ( Array buffer ) : uint
Compute ( uint seed, Array buffer ) : uint
Compute ( uint polynomial, uint seed, Array buffer ) : uint
Crc32Algorithm ( ) : System
Crc32Algorithm ( uint polynomial, uint seed ) : System
Initialize ( ) : void
InitializeTable ( uint polynomial ) : uint[]

Защищенные методы

Метод Описание
HashCore ( Array buffer, int start, int length ) : void
HashFinal ( ) : byte[]

Приватные методы

Метод Описание
CalculateHash ( Array table, uint seed, Array buffer, int start, int size ) : uint
UintToBigEndianBytes ( uint uint32 ) : byte[]

Описание методов

CalculateBasicHash() публичный статический Метод

public static CalculateBasicHash ( uint &seed, Array &buffer, int offset, int size ) : uint
seed uint
buffer Array
offset int
size int
Результат uint

CalculateFasterBT78Hash() публичный статический Метод

More optimized CRC-32 algorithm that only works with 78 byte arrays
public static CalculateFasterBT78Hash ( uint &seed, Array &buffer, int &start, int &size ) : uint
seed uint
buffer Array
start int
size int
Результат uint

Compute() публичный статический Метод

public static Compute ( Array buffer ) : uint
buffer Array
Результат uint

Compute() публичный статический Метод

public static Compute ( uint seed, Array buffer ) : uint
seed uint
buffer Array
Результат uint

Compute() публичный статический Метод

public static Compute ( uint polynomial, uint seed, Array buffer ) : uint
polynomial uint
seed uint
buffer Array
Результат uint

Crc32Algorithm() публичный Метод

public Crc32Algorithm ( ) : System
Результат System

Crc32Algorithm() публичный Метод

public Crc32Algorithm ( uint polynomial, uint seed ) : System
polynomial uint
seed uint
Результат System

HashCore() защищенный Метод

protected HashCore ( Array buffer, int start, int length ) : void
buffer Array
start int
length int
Результат void

HashFinal() защищенный Метод

protected HashFinal ( ) : byte[]
Результат byte[]

Initialize() публичный Метод

public Initialize ( ) : void
Результат void

InitializeTable() публичный статический Метод

public static InitializeTable ( uint polynomial ) : uint[]
polynomial uint
Результат uint[]