Прочитать на английском

Поделиться через


HashAlgorithm.HashCore Метод

Определение

Перегрузки

HashCore(Byte[], Int32, Int32)

При переопределении в производном классе передает данные, записанные в объект, на вход хэш-алгоритма для вычисления хэша.

HashCore(ReadOnlySpan<Byte>)

Передает записываемые в объект данные в хэш-алгоритм для вычисления хэша.

HashCore(Byte[], Int32, Int32)

Исходный код:
HashAlgorithm.cs
Исходный код:
HashAlgorithm.cs
Исходный код:
HashAlgorithm.cs

При переопределении в производном классе передает данные, записанные в объект, на вход хэш-алгоритма для вычисления хэша.

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

Параметры

array
Byte[]

Входные данные, для которых вычисляется хэш-код.

ibStart
Int32

Смещение в массиве байтов, начиная с которого следует использовать данные.

cbSize
Int32

Число байтов в массиве для использования в качестве данных.

Комментарии

Этот метод не вызывается кодом приложения.

Этот абстрактный метод выполняет хэш-вычисление. Каждая запись в криптографический хэш-алгоритм передает данные с помощью этого метода. Для каждого блока данных этот метод обновляет состояние хэш-объекта, чтобы в конце данных возвращалось правильное хэш-значение.

Применяется к

.NET 10 и другие версии
Продукт Версии
.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, 10
.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>)

Исходный код:
HashAlgorithm.cs
Исходный код:
HashAlgorithm.cs
Исходный код:
HashAlgorithm.cs

Передает записываемые в объект данные в хэш-алгоритм для вычисления хэша.

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

Параметры

source
ReadOnlySpan<Byte>

Входные данные, для которых вычисляется хэш-код.

Комментарии

Реализация этого метода по умолчанию копируется source во временный массив и вызывает .HashCore(Byte[], Int32, Int32)

Производные типы должны переопределять этот метод, чтобы избежать промежуточного копирования данных.

Применяется к

.NET 10 и другие версии
Продукт Версии
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Standard 2.1