Edit

Share via


Crc32 Class

Definition

Provides an implementation of the CRC-32 algorithm, as used in ITU-T V.42 and IEEE 802.3.

public ref class Crc32 sealed : System::IO::Hashing::NonCryptographicHashAlgorithm
public sealed class Crc32 : System.IO.Hashing.NonCryptographicHashAlgorithm
type Crc32 = class
    inherit NonCryptographicHashAlgorithm
Public NotInheritable Class Crc32
Inherits NonCryptographicHashAlgorithm
Inheritance

Remarks

This implementation emits the answer in the Little Endian byte order so that the CRC residue relationship (CRC(message concat CRC(message)) is a fixed value) holds. For CRC-32, this stable output is the byte sequence { 0x1C, 0xDF, 0x44, 0x21 }, the Little Endian representation of 0x2144DF1C.

There are multiple, incompatible, definitions of a 32-bit cyclic redundancy check (CRC) algorithm. When interoperating with another system, ensure that you are using the same definition. The definition used by this implementation is not compatible with the cyclic redundancy check described in ITU-T I.363.5.

Constructors

Crc32()

Initializes a new instance of the Crc32 class.

Properties

HashLengthInBytes

Gets the number of bytes produced from this hash algorithm.

(Inherited from NonCryptographicHashAlgorithm)

Methods

Append(Byte[])

Appends the contents of source to the data already processed for the current hash computation.

(Inherited from NonCryptographicHashAlgorithm)
Append(ReadOnlySpan<Byte>)

Appends the contents of source to the data already processed for the current hash computation.

Append(Stream)

Appends the contents of stream to the data already processed for the current hash computation.

(Inherited from NonCryptographicHashAlgorithm)
AppendAsync(Stream, CancellationToken)

Asychronously reads the contents of stream and appends them to the data already processed for the current hash computation.

(Inherited from NonCryptographicHashAlgorithm)
Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetCurrentHash()

Gets the current computed hash value without modifying accumulated state.

(Inherited from NonCryptographicHashAlgorithm)
GetCurrentHash(Span<Byte>)

Writes the computed hash value to destination without modifying accumulated state.

(Inherited from NonCryptographicHashAlgorithm)
GetCurrentHashAsUInt32()

Gets the current computed hash value without modifying accumulated state.

GetCurrentHashCore(Span<Byte>)

When overridden in a derived class, writes the computed hash value to destination without modifying accumulated state.

(Inherited from NonCryptographicHashAlgorithm)
GetHashAndReset()

Gets the current computed hash value and clears the accumulated state.

(Inherited from NonCryptographicHashAlgorithm)
GetHashAndReset(Span<Byte>)

Writes the computed hash value to destination then clears the accumulated state.

(Inherited from NonCryptographicHashAlgorithm)
GetHashAndResetCore(Span<Byte>)

Writes the computed hash value to destination then clears the accumulated state.

(Inherited from NonCryptographicHashAlgorithm)
GetHashCode()
Obsolete.

This method is not supported and should not be called. Call GetCurrentHash() or GetHashAndReset() instead.

(Inherited from NonCryptographicHashAlgorithm)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
Hash(Byte[])

Computes the CRC-32 hash of the provided data.

Hash(ReadOnlySpan<Byte>, Span<Byte>)

Computes the CRC-32 hash of the provided data into the provided destination.

Hash(ReadOnlySpan<Byte>)

Computes the CRC-32 hash of the provided data.

HashToUInt32(ReadOnlySpan<Byte>)

Computes the CRC-32 hash of the provided data.

MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
Reset()

Resets the hash computation to the initial state.

ToString()

Returns a string that represents the current object.

(Inherited from Object)
TryGetCurrentHash(Span<Byte>, Int32)

Attempts to write the computed hash value to destination without modifying accumulated state.

(Inherited from NonCryptographicHashAlgorithm)
TryGetHashAndReset(Span<Byte>, Int32)

Attempts to write the computed hash value to destination. If successful, clears the accumulated state.

(Inherited from NonCryptographicHashAlgorithm)
TryHash(ReadOnlySpan<Byte>, Span<Byte>, Int32)

Attempts to compute the CRC-32 hash of the provided data into the provided destination.

Applies to