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) |