HashAlgorithm Класс
В этой статье
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет базовый класс, из которого создаются все реализации криптографических хэш-алгоритмов.
public ref class HashAlgorithm abstract : IDisposable, System::Security::Cryptography::ICryptoTransform
public ref class HashAlgorithm abstract : IDisposable
public ref class HashAlgorithm abstract : System::Security::Cryptography::ICryptoTransform
public abstract class HashAlgorithm : IDisposable, System.Security.Cryptography.ICryptoTransform
public abstract class HashAlgorithm : IDisposable
public abstract class HashAlgorithm : System.Security.Cryptography.ICryptoTransform
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class HashAlgorithm : System.Security.Cryptography.ICryptoTransform
type HashAlgorithm = class
interface IDisposable
interface ICryptoTransform
type HashAlgorithm = class
interface IDisposable
type HashAlgorithm = class
interface ICryptoTransform
interface IDisposable
[<System.Runtime.InteropServices.ComVisible(true)>]
type HashAlgorithm = class
interface ICryptoTransform
interface IDisposable
[<System.Runtime.InteropServices.ComVisible(true)>]
type HashAlgorithm = class
interface IDisposable
interface ICryptoTransform
Public MustInherit Class HashAlgorithm
Implements ICryptoTransform, IDisposable
Public MustInherit Class HashAlgorithm
Implements IDisposable
Public MustInherit Class HashAlgorithm
Implements ICryptoTransform
- Наследование
-
HashAlgorithm
- Производный
- Атрибуты
- Реализации
В следующем примере кода вычисляется SHA256 хэш для массива. В этом примере предполагается, что существует предопределенный массив байтов dataArray[]
.
SHA256является производным классом .HashAlgorithm
HashAlgorithm^ sha = SHA256::Create();
array<Byte>^ result = sha->ComputeHash( dataArray );
HashAlgorithm sha = SHA256.Create();
byte[] result = sha.ComputeHash(dataArray);
Dim sha As SHA256 = SHA256.Create()
Dim result As Byte() = sha.ComputeHash(dataArray)
Хэш-функции являются фундаментальными для современной криптографии. Эти функции сопоставляют двоичные строки произвольной длины с небольшими двоичными строками фиксированной длины, называемыми хэш-значениями. Криптографическая хэш-функция имеет свойство, указывающее, что найти два разных входных данных, хэшируемых в одно и то же значение, невозможно. Хэш-функции обычно используются с цифровыми подписями и для обеспечения целостности данных.
Хэш используется в качестве уникального значения фиксированного размера, представляющего большой объем данных. Хэши двух наборов данных должны совпадать, если соответствующие данные также совпадают. Небольшие изменения данных приводят к большим непредсказуемым изменениям хэша.
Из-за проблем с SHA1 корпорация Майкрософт рекомендует использовать модель безопасности на основе SHA256 или более высокого уровня.
При наследовании HashAlgorithm от класса необходимо переопределить следующие члены: HashCore(Byte[], Int32, Int32) и HashFinal().
Hash |
Инициализирует новый экземпляр класса HashAlgorithm. |
Hash |
Представляет размер вычисленного хэш-кода в битах. |
Hash |
Представляет значение вычисляемого хэш-кода. |
State |
Представляет состояние процесса вычисления хэша. |
Can |
Получает значение, указывающее на возможность повторного использования текущего преобразования. |
Can |
Если переопределено в производном классе, возвращает значение, указывающее, возможно ли преобразование нескольких блоков. |
Hash |
Получает значение вычисленного хэш-кода. |
Hash |
Получает размер вычисленного хэш-кода в битах. |
Input |
При переопределении в производном классе получает размер входного блока. |
Output |
При переопределении в производном классе получает размер выходного блока. |
Clear() |
Освобождает все ресурсы, используемые классом HashAlgorithm. |
Compute |
Вычисляет хэш-значение для заданного массива байтов. |
Compute |
Вычисляет хэш-значение для заданной области заданного массива байтов. |
Compute |
Вычисляет хэш-значение для заданного объекта Stream. |
Compute |
Асинхронно вычисляет хэш-значение для заданного объекта Stream. |
Create() |
Устаревшие..
Устаревшие..
Создает экземпляр реализации по умолчанию хэш-алгоритма. |
Create(String) |
Устаревшие..
Создает экземпляр заданной реализации хэш-алгоритма. |
Dispose() |
Освобождает все ресурсы, используемые текущим экземпляром класса HashAlgorithm. |
Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые объектом HashAlgorithm, а при необходимости освобождает также управляемые ресурсы. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
Get |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
Get |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
Hash |
При переопределении в производном классе передает данные, записанные в объект, на вход хэш-алгоритма для вычисления хэша. |
Hash |
Передает записываемые в объект данные в хэш-алгоритм для вычисления хэша. |
Hash |
Если переопределено в производном классе, завершает вычисление хэша после обработки последних данных криптографическим хэш-алгоритмом. |
Initialize() |
Сбрасывает хэш-алгоритм в исходное состояние. |
Memberwise |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
To |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Transform |
Вычисляет хэш-значение для заданной области входного массива байтов и копирует указанную область входного массива байтов в заданную область выходного массива байтов. |
Transform |
Вычисляет хэш-значение для заданной области заданного массива байтов. |
Try |
Пытается вычислить хэш-значение для заданного массива байтов. |
Try |
Пытается завершить вычисление хэша после обработки последних данных хэш-алгоритмом. |
IDisposable. |
Освобождает неуправляемые ресурсы, используемые объектом 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 | 1.1, 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 |
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: