HMACMD5 Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Вычисляет хэш-код проверки подлинности сообщений (HMAC) с помощью MD5 хэш-функции.
public ref class HMACMD5 : System::Security::Cryptography::HMAC
[System.Runtime.InteropServices.ComVisible(true)]
public class HMACMD5 : System.Security.Cryptography.HMAC
public class HMACMD5 : System.Security.Cryptography.HMAC
[<System.Runtime.InteropServices.ComVisible(true)>]
type HMACMD5 = class
inherit HMAC
type HMACMD5 = class
inherit HMAC
Public Class HMACMD5
Inherits HMAC
- Наследование
- Атрибуты
Комментарии
HMACMD5 — это тип хэш-алгоритма, созданного из хэш-функции алгоритма хэша 5 (MD5) и используемого в качестве кода проверки подлинности на основе хэша сообщений (HMAC). Процесс HMAC перемешивает секретный ключ с данными сообщения, хэширует результат с хэш-функцией, смешивает хэш-значение с секретным ключом снова, а затем применяет хэш-функцию во второй раз. Выходной хэш составляет 128 битов.
HMAC можно использовать для определения того, было ли отправлено сообщение через небезопасный канал, при условии, что отправитель и получатель имеют общий доступ к секретному ключу. Отправитель вычисляет хэш-значение для исходных данных и отправляет исходные данные и хэш-значение в виде одного сообщения. Получатель пересчитывает хэш-значение в полученном сообщении и проверяет, соответствует ли вычисляемый HMAC переданный HMAC.
Любое изменение данных или хэш-значения приводит к несоответствию, так как знание секретного ключа требуется для изменения сообщения и воспроизведения правильного хэш-значения. Таким образом, если исходные и вычисляемые хэш-значения совпадают, сообщение проходит проверку подлинности.
MD5 — это алгоритм криптографического хэша, разработанный в лабораториях RSA. HMACMD5 принимает ключи любого размера и создает хэш-последовательность, которая составляет 128 битов в длину.
Из-за проблем с столкновением с MD5 корпорация Майкрософт рекомендует SHA-256.
Конструкторы
| Имя | Описание |
|---|---|
| HMACMD5() |
Инициализирует новый экземпляр класса с помощью случайно созданного HMACMD5 ключа. |
| HMACMD5(Byte[]) |
Инициализирует новый экземпляр класса с помощью указанного HMACMD5 ключа. |
Поля
| Имя | Описание |
|---|---|
| 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[], Int32, Int32) |
Вычисляет хэш-значение для указанного региона указанного массива байтов. (Унаследовано от HashAlgorithm) |
| ComputeHash(Byte[]) |
Вычисляет хэш-значение для указанного массива байтов. (Унаследовано от HashAlgorithm) |
| ComputeHash(Stream) |
Вычисляет хэш-значение для указанного 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. |
| 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) |
| TryHashFinal(Span<Byte>, Int32) |
Пытается завершить вычисление HMAC после обработки последних данных алгоритмом HMAC. |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IDisposable.Dispose() |
Освобождает неуправляемые ресурсы, используемые HashAlgorithm и при необходимости освобождает управляемые ресурсы. (Унаследовано от HashAlgorithm) |