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


HMACMD5 Класс

Определение

Вычисляет хэш-код аутентификации сообщения (HMAC) с помощью хэш-функции MD5.

public ref class HMACMD5 : System::Security::Cryptography::HMAC
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public class HMACMD5 : System.Security.Cryptography.HMAC
public class HMACMD5 : System.Security.Cryptography.HMAC
[System.Runtime.InteropServices.ComVisible(true)]
public class HMACMD5 : System.Security.Cryptography.HMAC
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type HMACMD5 = class
    inherit HMAC
type HMACMD5 = class
    inherit HMAC
[<System.Runtime.InteropServices.ComVisible(true)>]
type HMACMD5 = class
    inherit HMAC
Public Class HMACMD5
Inherits HMAC
Наследование
Атрибуты

Комментарии

HMACMD5 — это тип хэш-алгоритма с ключом, который создается на основе хэш-функции 5 (MD5) и используется в качестве хэш-кода проверки подлинности сообщений (HMAC). Процесс HMAC смешивает секретный ключ с данными сообщения, хэширует результат с хэш-функцией, снова смешивает это хэш-значение с секретным ключом, а затем применяет хэш-функцию во второй раз. Длина выходного хэша составляет 128 бит.

HMAC можно использовать для определения того, было ли изменено сообщение, отправленное по незащищенным каналам, при условии, что отправитель и получатель совместно используют секретный ключ. Отправитель вычисляет хэш-значение для исходных данных и отправляет исходные данные и хэш-значение в виде одного сообщения. Получатель пересчитывает хэш-значение для полученного сообщения и проверяет, соответствует ли вычисленный HMAC переданной HMAC.

Любое изменение данных или хэш-значения приводит к несоответствию, так как для изменения сообщения и воспроизведения правильного хэш-значения требуется знание секретного ключа. Таким образом, если исходные и вычисляемые хэш-значения совпадают, сообщение проходит проверку подлинности.

MD5 — это криптографический хэш-алгоритм, разработанный в лабораториях RSA. HMACMD5 принимает ключи любого размера и создает хэш-последовательность длиной 128 бит.

Из-за конфликта с MD5 корпорация Майкрософт рекомендует использовать SHA256.

Конструкторы

HMACMD5()

Инициализирует новый экземпляр класса HMACMD5 ключом, созданным с помощью алгоритма генерации случайных чисел.

HMACMD5(Byte[])

Инициализирует новый экземпляр класса HMACMD5, используя указанный ключ.

Поля

HashSizeInBits

Размер хэша, создаваемого алгоритмом HMAC MD5, в битах.

HashSizeInBytes

Размер хэша, создаваемого алгоритмом HMAC MD5, в байтах.

HashSizeValue

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

(Унаследовано от HashAlgorithm)
HashValue

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

(Унаследовано от HashAlgorithm)
KeyValue

Ключ, используемый в хэш-алгоритме.

(Унаследовано от KeyedHashAlgorithm)
State

Представляет состояние процесса вычисления хэша.

(Унаследовано от HashAlgorithm)

Свойства

BlockSizeValue

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

(Унаследовано от HMAC)
CanReuseTransform

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

(Унаследовано от HashAlgorithm)
CanTransformMultipleBlocks

Если переопределено в производном классе, возвращает значение, указывающее, возможно ли преобразование нескольких блоков.

(Унаследовано от HashAlgorithm)
Hash

Получает значение вычисленного хэш-кода.

(Унаследовано от HashAlgorithm)
HashName

Возвращает или задает имя используемого хэш-алгоритма.

(Унаследовано от HMAC)
HashSize

Возвращает размер вычисляемого значения HMAC в битах.

HashSize

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

(Унаследовано от HashAlgorithm)
InputBlockSize

При переопределении в производном классе получает размер входного блока.

(Унаследовано от HashAlgorithm)
Key

Возвращает или задает ключ, используемый при вычислении HMAC.

Key

Возвращает или задает ключ, используемый при вычислении HMAC.

(Унаследовано от HMAC)
OutputBlockSize

При переопределении в производном классе получает размер выходного блока.

(Унаследовано от HashAlgorithm)

Методы

Clear()

Освобождает все ресурсы, используемые классом HashAlgorithm.

(Унаследовано от HashAlgorithm)
ComputeHash(Byte[])

Вычисляет хэш-значение для заданного массива байтов.

(Унаследовано от HashAlgorithm)
ComputeHash(Byte[], Int32, Int32)

Вычисляет хэш-значение для заданной области заданного массива байтов.

(Унаследовано от HashAlgorithm)
ComputeHash(Stream)

Вычисляет хэш-значение для заданного объекта Stream.

(Унаследовано от HashAlgorithm)
ComputeHashAsync(Stream, CancellationToken)

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

(Унаследовано от HashAlgorithm)
Dispose()

Освобождает все ресурсы, используемые текущим экземпляром класса HashAlgorithm.

(Унаследовано от HashAlgorithm)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом HMACMD5, а при необходимости освобождает также управляемые ресурсы.

Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом HMAC, и, если допускается изменение ключа, опционально освобождает управляемые ресурсы.

(Унаследовано от HMAC)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
HashCore(Byte[], Int32, Int32)

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

HashCore(Byte[], Int32, Int32)

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

(Унаследовано от HMAC)
HashCore(ReadOnlySpan<Byte>)

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

HashCore(ReadOnlySpan<Byte>)

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

(Унаследовано от HMAC)
HashData(Byte[], Byte[])

Вычисляет HMAC данных с помощью алгоритма MD5.

HashData(Byte[], Stream)

Вычисляет HMAC потока с помощью алгоритма MD5.

HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>)

Вычисляет HMAC данных с помощью алгоритма MD5.

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

Вычисляет HMAC данных с помощью алгоритма MD5.

HashData(ReadOnlySpan<Byte>, Stream)

Вычисляет HMAC потока с помощью алгоритма MD5.

HashData(ReadOnlySpan<Byte>, Stream, Span<Byte>)

Вычисляет HMAC потока с помощью алгоритма MD5.

HashDataAsync(Byte[], Stream, CancellationToken)

Асинхронно вычисляет HMAC потока с помощью алгоритма MD5.

HashDataAsync(ReadOnlyMemory<Byte>, Stream, CancellationToken)

Асинхронно вычисляет HMAC потока с помощью алгоритма MD5.

HashDataAsync(ReadOnlyMemory<Byte>, Stream, Memory<Byte>, CancellationToken)

Асинхронно вычисляет HMAC потока с помощью алгоритма MD5.

HashFinal()

Завершает вычисление HMAC после обработки последних данных алгоритмом.

HashFinal()

Если переопределено в производном классе, завершает вычисление HMAC после обработки последних данных алгоритмом.

(Унаследовано от HMAC)
Initialize()

Сбрасывает хэш-алгоритм в исходное состояние.

Initialize()

Инициализирует новый экземпляр реализации по умолчанию класса HMAC.

(Унаследовано от HMAC)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
TransformBlock(Byte[], Int32, Int32, Byte[], Int32)

Вычисляет хэш-значение для заданной области входного массива байтов и копирует указанную область входного массива байтов в заданную область выходного массива байтов.

(Унаследовано от HashAlgorithm)
TransformFinalBlock(Byte[], Int32, Int32)

Вычисляет хэш-значение для заданной области заданного массива байтов.

(Унаследовано от HashAlgorithm)
TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32)

Пытается вычислить хэш-значение для заданного массива байтов.

(Унаследовано от HashAlgorithm)
TryHashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32)

Пытается вычислить HMAC данных с помощью алгоритма MD5.

TryHashFinal(Span<Byte>, Int32)

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

TryHashFinal(Span<Byte>, Int32)

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

(Унаследовано от HMAC)

Явные реализации интерфейса

IDisposable.Dispose()

Освобождает неуправляемые ресурсы, используемые объектом HashAlgorithm, а при необходимости освобождает также управляемые ресурсы.

(Унаследовано от HashAlgorithm)

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

См. также раздел