HMAC Класс
В этой статье
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет абстрактный класс, от которого должны наследоваться все реализации хэш-кода проверки подлинности сообщения (HMAC).
public ref class HMAC abstract : System::Security::Cryptography::KeyedHashAlgorithm
public abstract class HMAC : System.Security.Cryptography.KeyedHashAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class HMAC : System.Security.Cryptography.KeyedHashAlgorithm
type HMAC = class
inherit KeyedHashAlgorithm
[<System.Runtime.InteropServices.ComVisible(true)>]
type HMAC = class
inherit KeyedHashAlgorithm
Public MustInherit Class HMAC
Inherits KeyedHashAlgorithm
- Наследование
- Производный
- Атрибуты
Код проверки подлинности сообщений на основе хэша (HMAC) можно использовать для определения того, было ли изменено сообщение, отправленное по незащищенным каналам, при условии, что отправитель и получатель совместно используют секретный ключ. Отправитель вычисляет хэш-значение для исходных данных и отправляет исходные данные и HMAC в виде одного сообщения. Получатель повторно вычисляет хэш-значение в полученном сообщении и проверяет, совпадает ли вычисленное хэш-значение с переданным хэш-значением.
HMAC можно использовать с любой итеративной криптографической хэш-функцией, например MD5 или SHA-1, в сочетании с общим секретным ключом. Криптографическая надежность HMAC зависит от свойств базовой хэш-функции.
Любое изменение данных или хэш-значения приводит к несоответствию, так как для изменения сообщения и воспроизведения правильного хэш-значения требуется знание секретного ключа. Таким образом, если исходное и вычисленное хэш-значения совпадают, сообщение проходит проверку подлинности.
Из-за проблем с конфликтами с MD5 и SHA-1 корпорация Майкрософт рекомендует использовать модель безопасности на основе SHA-256 или более поздней версии.
Hash |
Представляет размер вычисленного хэш-кода в битах. (Унаследовано от HashAlgorithm) |
Hash |
Представляет значение вычисляемого хэш-кода. (Унаследовано от HashAlgorithm) |
Key |
Ключ, используемый в хэш-алгоритме. (Унаследовано от KeyedHashAlgorithm) |
State |
Представляет состояние процесса вычисления хэша. (Унаследовано от HashAlgorithm) |
Block |
Получает или задает размер блока, используемый в значении хэша. |
Can |
Получает значение, указывающее на возможность повторного использования текущего преобразования. (Унаследовано от HashAlgorithm) |
Can |
Если переопределено в производном классе, возвращает значение, указывающее, возможно ли преобразование нескольких блоков. (Унаследовано от HashAlgorithm) |
Hash |
Получает значение вычисленного хэш-кода. (Унаследовано от HashAlgorithm) |
Hash |
Возвращает или задает имя используемого хэш-алгоритма. |
Hash |
Получает размер вычисленного хэш-кода в битах. (Унаследовано от HashAlgorithm) |
Input |
При переопределении в производном классе получает размер входного блока. (Унаследовано от HashAlgorithm) |
Key |
Возвращает или задает ключ, используемый при вычислении HMAC. |
Output |
При переопределении в производном классе получает размер выходного блока. (Унаследовано от HashAlgorithm) |
Clear() |
Освобождает все ресурсы, используемые классом HashAlgorithm. (Унаследовано от HashAlgorithm) |
Compute |
Вычисляет хэш-значение для заданного массива байтов. (Унаследовано от HashAlgorithm) |
Compute |
Вычисляет хэш-значение для заданной области заданного массива байтов. (Унаследовано от HashAlgorithm) |
Compute |
Вычисляет хэш-значение для заданного объекта Stream. (Унаследовано от HashAlgorithm) |
Compute |
Асинхронно вычисляет хэш-значение для заданного объекта Stream. (Унаследовано от HashAlgorithm) |
Create() |
Устаревшие..
Устаревшие..
Создает экземпляр реализации хэш-кода проверки подлинности сообщения (HMAC) по умолчанию. |
Create(String) |
Устаревшие..
Создает экземпляр заданной реализации хэш-кода проверки подлинности сообщения (HMAC). |
Dispose() |
Освобождает все ресурсы, используемые текущим экземпляром класса HashAlgorithm. (Унаследовано от HashAlgorithm) |
Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые объектом HMAC, и, если допускается изменение ключа, опционально освобождает управляемые ресурсы. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
Get |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
Get |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
Hash |
Если переопределено в производном классе, передает данные, записанные в объект, в HMAC-алгоритм для вычисления значения HMAC. |
Hash |
Передает данные из объекта в HMAC-алгоритм для вычисления HMAC. |
Hash |
Передает записываемые в объект данные в хэш-алгоритм для вычисления хэша. (Унаследовано от HashAlgorithm) |
Hash |
Если переопределено в производном классе, завершает вычисление HMAC после обработки последних данных алгоритмом. |
Initialize() |
Инициализирует новый экземпляр реализации по умолчанию класса HMAC. |
Memberwise |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
To |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Transform |
Вычисляет хэш-значение для заданной области входного массива байтов и копирует указанную область входного массива байтов в заданную область выходного массива байтов. (Унаследовано от HashAlgorithm) |
Transform |
Вычисляет хэш-значение для заданной области заданного массива байтов. (Унаследовано от HashAlgorithm) |
Try |
Пытается вычислить хэш-значение для заданного массива байтов. (Унаследовано от HashAlgorithm) |
Try |
Пытается завершить вычисление HMAC после обработки последних данных алгоритмом HMAC. |
Try |
Пытается завершить вычисление хэша после обработки последних данных хэш-алгоритмом. (Унаследовано от HashAlgorithm) |
IDisposable. |
Освобождает неуправляемые ресурсы, используемые объектом HashAlgorithm, а при необходимости освобождает также управляемые ресурсы. (Унаследовано от HashAlgorithm) |
Продукт | Версии |
---|---|
.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 | 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 |