Table of Contents

Class CyclicRedundancyCheck64

Namespace
Cuemon.Security
Assembly
Cuemon.Core.dll

Provides a CRC-64 implementation of the CRC (Cyclic Redundancy Check) checksum algorithm for 64-bit hash values. This class cannot be inherited.

public sealed class CyclicRedundancyCheck64 : CyclicRedundancyCheck, IHash, IConfigurable<CyclicRedundancyCheckOptions>
Inheritance
CyclicRedundancyCheck64
Implements
Inherited Members

Constructors

CyclicRedundancyCheck64(UInt64, UInt64, UInt64, Action<CyclicRedundancyCheckOptions>)

Initializes a new instance of the CyclicRedundancyCheck64 class.

public CyclicRedundancyCheck64(ulong polynomial = 4823603603198064275UL, ulong initialValue = 0UL, ulong finalXor = 0UL, Action<CyclicRedundancyCheckOptions> setup = null)

Parameters

polynomial UInt64

This is a binary value that should be specified as a hexadecimal number. Default is 0x42F0E1EBA9EA3693.

initialValue UInt64

This parameter specifies the initial value of the register when the algorithm starts. Default is 0x0000000000000000.

finalXor UInt64

This is an W-bit value that should be specified as a hexadecimal number. Default is 0x0000000000000000.

setup Action<CyclicRedundancyCheckOptions>

The CyclicRedundancyCheckOptions which may be configured.

Methods

ComputeHash(Byte[])

Computes the hash value for the specified byte[].

public override HashResult ComputeHash(byte[] input)

Parameters

input Byte[]

The byte[] to compute the hash code for.

Returns

HashResult

A HashResult containing the computed hash code of the specified input.

Remarks

PolynomialIndexInitializer(Byte)

Returns the initial value for the specified index of the polynomial LookupTable.

protected override ulong PolynomialIndexInitializer(byte index)

Parameters

index Byte

The index of the array of polynomial values ranging from 0 to 255.

Returns

UInt64

The initial value for the specified index.

PolynomialSlotCalculator(ref UInt64, UInt64)

Computes the polynomial checksum value in steps of 8 (0-7) x 256 (0-255) giving a total of 2048 times.

protected override void PolynomialSlotCalculator(ref ulong checksum, ulong polynomial)

Parameters

checksum UInt64

The checksum that is iterated 8 times (0-7) in 256 steps (0-255).

polynomial UInt64

The polynomial value.

See Also