HMACSHA1 Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Вычисляет хэш-код проверки подлинности сообщения (HMAC) с помощью хэш-функции SHA1.
public ref class HMACSHA1 : System::Security::Cryptography::HMAC
public ref class HMACSHA1 : System::Security::Cryptography::KeyedHashAlgorithm
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public class HMACSHA1 : System.Security.Cryptography.HMAC
public class HMACSHA1 : System.Security.Cryptography.HMAC
public class HMACSHA1 : System.Security.Cryptography.KeyedHashAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public class HMACSHA1 : System.Security.Cryptography.HMAC
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type HMACSHA1 = class
inherit HMAC
type HMACSHA1 = class
inherit HMAC
type HMACSHA1 = class
inherit KeyedHashAlgorithm
[<System.Runtime.InteropServices.ComVisible(true)>]
type HMACSHA1 = class
inherit HMAC
Public Class HMACSHA1
Inherits HMAC
Public Class HMACSHA1
Inherits KeyedHashAlgorithm
- Наследование
- Наследование
- Атрибуты
Комментарии
HMACSHA1 — это тип хэш-алгоритма с ключом, который создается на основе хэш-функции SHA1 и используется в качестве HMAC или кода проверки подлинности сообщения на основе хэша. Процесс HMAC смешивает секретный ключ с данными сообщения, хэширует результат с хэш-функцией, снова смешивает это хэш-значение с секретным ключом, а затем применяет хэш-функцию во второй раз. Длина выходного хэша составляет 160 бит.
HMAC можно использовать для определения того, было ли изменено сообщение, отправленное по незащищенным каналам, при условии, что отправитель и получатель совместно используют секретный ключ. Отправитель вычисляет хэш-значение для исходных данных и отправляет исходные данные и хэш-значение в виде одного сообщения. Получатель пересчитывает хэш-значение для полученного сообщения и проверяет, соответствует ли вычисленный HMAC переданной HMAC.
Любое изменение данных или хэш-значения приводит к несоответствию, так как для изменения сообщения и воспроизведения правильного хэш-значения требуется знание секретного ключа. Таким образом, если исходные и вычисляемые хэш-значения совпадают, сообщение проходит проверку подлинности.
SHA-1 (алгоритм безопасного хэша, также называемый SHS, Secure Hash Standard) — это криптографический хэш-алгоритм, опубликованный правительством США. Он создает 160-битовое хэш-значение из строки произвольной длины.
HMACSHA1 принимает ключи любого размера и создает хэш-последовательность длиной 160 бит.
Из-за конфликта с SHA1 корпорация Майкрософт рекомендует использовать SHA256.
Конструкторы
HMACSHA1() |
Инициализирует новый экземпляр класса HMACSHA1 созданным случайным образом ключом. |
HMACSHA1(Byte[]) |
Инициализирует новый экземпляр класса HMACSHA1 указанными данными ключа. |
HMACSHA1(Byte[], Boolean) |
Устаревшие..
Инициализирует новый экземпляр класса HMACSHA1 с указанными данными ключа и значением, определяющим необходимость использования управляемой версии алгоритма SHA1. |
Поля
HashSizeInBits |
Размер хэша, создаваемого алгоритмом HMAC SHA1, в битах. |
HashSizeInBytes |
Размер хэша, создаваемого алгоритмом HMAC SHA1, в байтах. |
HashSizeValue |
Представляет размер вычисленного хэш-кода в битах. (Унаследовано от HashAlgorithm) |
HashValue |
Представляет значение вычисляемого хэш-кода. (Унаследовано от HashAlgorithm) |
KeyValue |
Ключ, используемый в хэш-алгоритме. (Унаследовано от KeyedHashAlgorithm) |
State |
Представляет состояние процесса вычисления хэша. (Унаследовано от HashAlgorithm) |
Свойства
BlockSizeValue |
Получает или задает размер блока, используемый в значении хэша. (Унаследовано от HMAC) |
CanReuseTransform |
Получает значение, указывающее на возможность повторного использования текущего преобразования. (Унаследовано от HashAlgorithm) |
CanTransformMultipleBlocks |
Если переопределено в производном классе, возвращает значение, указывающее, возможно ли преобразование нескольких блоков. (Унаследовано от HashAlgorithm) |
Hash |
Получает значение вычисленного хэш-кода. (Унаследовано от HashAlgorithm) |
HashName |
Возвращает или задает имя используемого хэш-алгоритма. |
HashName |
Возвращает или задает имя используемого хэш-алгоритма. (Унаследовано от HMAC) |
HashSize |
Возвращает размер вычисляемого значения HMAC в битах. |
HashSize |
Получает размер вычисленного хэш-кода в битах. (Унаследовано от HashAlgorithm) |
InputBlockSize |
При переопределении в производном классе получает размер входного блока. (Унаследовано от HashAlgorithm) |
Key |
Возвращает или задает ключ, используемый в хэш-алгоритме. |
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) |
Этот член переопределяет Dispose(Boolean); по данной теме может быть доступна более полная документация. Освобождает неуправляемые ресурсы, используемые объектом KeyedHashAlgorithm, а при необходимости освобождает также управляемые ресурсы. |
Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые объектом HMAC, и, если допускается изменение ключа, опционально освобождает управляемые ресурсы. (Унаследовано от HMAC) |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
Finalize() |
Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как он будет уничтожен во время сборки мусора. |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
HashCore(Byte[], Int32, Int32) |
Передает данные, записанные в объект, в хэш-алгоритм SHA1 для вычисления кода проверки подлинности сообщения на основе хэш HMAC. |
HashCore(Byte[], Int32, Int32) |
Если переопределено в производном классе, передает данные, записанные в объект, в HMAC-алгоритм для вычисления значения HMAC. (Унаследовано от HMAC) |
HashCore(ReadOnlySpan<Byte>) |
Передает данные из объекта в HMAC-алгоритм для вычисления HMAC. |
HashCore(ReadOnlySpan<Byte>) |
Передает данные из объекта в HMAC-алгоритм для вычисления HMAC. (Унаследовано от HMAC) |
HashCore(ReadOnlySpan<Byte>) |
Передает записываемые в объект данные в хэш-алгоритм для вычисления хэша. (Унаследовано от HashAlgorithm) |
HashData(Byte[], Byte[]) |
Вычисляет HMAC данных с помощью алгоритма SHA1. |
HashData(Byte[], Stream) |
Вычисляет HMAC потока с помощью алгоритма SHA1. |
HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) |
Вычисляет HMAC данных с помощью алгоритма SHA1. |
HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>) |
Вычисляет HMAC данных с помощью алгоритма SHA1. |
HashData(ReadOnlySpan<Byte>, Stream) |
Вычисляет HMAC потока с помощью алгоритма SHA1. |
HashData(ReadOnlySpan<Byte>, Stream, Span<Byte>) |
Вычисляет HMAC потока с помощью алгоритма SHA1. |
HashDataAsync(Byte[], Stream, CancellationToken) |
Асинхронно вычисляет HMAC потока с помощью алгоритма SHA1. |
HashDataAsync(ReadOnlyMemory<Byte>, Stream, CancellationToken) |
Асинхронно вычисляет HMAC потока с помощью алгоритма SHA1. |
HashDataAsync(ReadOnlyMemory<Byte>, Stream, Memory<Byte>, CancellationToken) |
Асинхронно вычисляет HMAC потока с помощью алгоритма SHA1. |
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 данных с помощью алгоритма SHA1. |
TryHashFinal(Span<Byte>, Int32) |
Пытается завершить вычисление HMAC после обработки последних данных алгоритмом HMAC. |
TryHashFinal(Span<Byte>, Int32) |
Пытается завершить вычисление HMAC после обработки последних данных алгоритмом HMAC. (Унаследовано от HMAC) |
TryHashFinal(Span<Byte>, Int32) |
Пытается завершить вычисление хэша после обработки последних данных хэш-алгоритмом. (Унаследовано от HashAlgorithm) |
Явные реализации интерфейса
IDisposable.Dispose() |
Освобождает неуправляемые ресурсы, используемые объектом HashAlgorithm, а при необходимости освобождает также управляемые ресурсы. (Унаследовано от HashAlgorithm) |