HashAlgorithm.HashCore Method

Definition

Overloads

HashCore(Byte[], Int32, Int32)

When overridden in a derived class, routes data written to the object into the hash algorithm for computing the hash.

HashCore(ReadOnlySpan<Byte>)

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

HashCore(Byte[], Int32, Int32)

Source:
HashAlgorithm.cs
Source:
HashAlgorithm.cs
Source:
HashAlgorithm.cs

When overridden in a derived class, routes data written to the object into the hash algorithm for computing the hash.

C#
protected abstract void HashCore(byte[] array, int ibStart, int cbSize);

Parameters

array
Byte[]

The input to compute the hash code for.

ibStart
Int32

The offset into the byte array from which to begin using data.

cbSize
Int32

The number of bytes in the byte array to use as data.

Remarks

This method is not called by application code.

This abstract method performs the hash computation. Every write to the cryptographic hash algorithm passes the data through this method. For each block of data, this method updates the state of the hash object so a correct hash value is returned at the end of the data.

Applies to

.NET 9 and other versions
Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

HashCore(ReadOnlySpan<Byte>)

Source:
HashAlgorithm.cs
Source:
HashAlgorithm.cs
Source:
HashAlgorithm.cs

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

C#
protected virtual void HashCore(ReadOnlySpan<byte> source);

Parameters

source
ReadOnlySpan<Byte>

The input to compute the hash code for.

Remarks

The default implementation of this method copies source to a temporary array and calls HashCore(Byte[], Int32, Int32).

Derived types should override this method to avoid the intermediate data copying.

Applies to

.NET 9 and other versions
Product Versions
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1