Поделиться через


SHA512 Класс

Определение

Вычисляет хэш SHA512 для входных данных.

public ref class SHA512 abstract : System::Security::Cryptography::HashAlgorithm
public abstract class SHA512 : System.Security.Cryptography.HashAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class SHA512 : System.Security.Cryptography.HashAlgorithm
type SHA512 = class
    inherit HashAlgorithm
[<System.Runtime.InteropServices.ComVisible(true)>]
type SHA512 = class
    inherit HashAlgorithm
Public MustInherit Class SHA512
Inherits HashAlgorithm
Наследование
Производный
Атрибуты

Примеры

В следующем примере вычисляется SHA512 хэш для data и сохраняется в result. В этом примере предполагается наличие предопределенной константы DATA_SIZE.

array<Byte>^ data = gcnew array<Byte>( DATA_SIZE );
array<Byte>^ result;
SHA512^ shaM = gcnew SHA512Managed;
result = shaM->ComputeHash( data );
byte[] data = new byte[DATA_SIZE];
byte[] result;

using (SHA512 sha512 = SHA512.Create())
{
    result = sha512.ComputeHash(data);
}
Dim data(DATA_SIZE) As Byte
Dim result() As Byte

Using sha512 As SHA512 = SHA512.Create()
    result = sha512.ComputeHash(data)
End Using

Комментарии

Хэш используется в качестве уникального значения фиксированного размера, представляющего большой объем данных. Хэши двух наборов данных должны совпадать только в том случае, если соответствующие данные также совпадают. Небольшие изменения данных приводят к большим непредсказуемым изменениям хэша.

Размер хэша для алгоритма SHA512 составляет 512 бит.

Этот класс является абстрактным. Единственная реализация этого класса — SHA512Managed.

Конструкторы

SHA512()

Инициализирует новый экземпляр SHA512.

Поля

HashSizeInBits

Размер хэша, создаваемого алгоритмом SHA512, в битах.

HashSizeInBytes

Размер хэша, создаваемого алгоритмом SHA512, в байтах.

HashSizeValue

Представляет размер вычисленного хэш-кода в битах.

(Унаследовано от HashAlgorithm)
HashValue

Представляет значение вычисляемого хэш-кода.

(Унаследовано от HashAlgorithm)
State

Представляет состояние процесса вычисления хэша.

(Унаследовано от HashAlgorithm)

Свойства

CanReuseTransform

Получает значение, указывающее на возможность повторного использования текущего преобразования.

(Унаследовано от HashAlgorithm)
CanTransformMultipleBlocks

Если переопределено в производном классе, возвращает значение, указывающее, возможно ли преобразование нескольких блоков.

(Унаследовано от HashAlgorithm)
Hash

Получает значение вычисленного хэш-кода.

(Унаследовано от HashAlgorithm)
HashSize

Получает размер вычисленного хэш-кода в битах.

(Унаследовано от HashAlgorithm)
InputBlockSize

При переопределении в производном классе получает размер входного блока.

(Унаследовано от HashAlgorithm)
OutputBlockSize

При переопределении в производном классе получает размер выходного блока.

(Унаследовано от HashAlgorithm)

Методы

Clear()

Освобождает все ресурсы, используемые классом HashAlgorithm.

(Унаследовано от HashAlgorithm)
ComputeHash(Byte[])

Вычисляет хэш-значение для заданного массива байтов.

(Унаследовано от HashAlgorithm)
ComputeHash(Byte[], Int32, Int32)

Вычисляет хэш-значение для заданной области заданного массива байтов.

(Унаследовано от HashAlgorithm)
ComputeHash(Stream)

Вычисляет хэш-значение для заданного объекта Stream.

(Унаследовано от HashAlgorithm)
ComputeHashAsync(Stream, CancellationToken)

Асинхронно вычисляет хэш-значение для заданного объекта Stream.

(Унаследовано от HashAlgorithm)
Create()

Создает экземпляр реализации класса SHA512 по умолчанию.

Create(String)
Устаревшие..

Создает экземпляр заданной реализации класса SHA512.

Dispose()

Освобождает все ресурсы, используемые текущим экземпляром класса HashAlgorithm.

(Унаследовано от HashAlgorithm)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом HashAlgorithm, а при необходимости освобождает также управляемые ресурсы.

(Унаследовано от HashAlgorithm)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
HashCore(Byte[], Int32, Int32)

При переопределении в производном классе передает данные, записанные в объект, на вход хэш-алгоритма для вычисления хэша.

(Унаследовано от HashAlgorithm)
HashCore(ReadOnlySpan<Byte>)

Передает записываемые в объект данные в хэш-алгоритм для вычисления хэша.

(Унаследовано от HashAlgorithm)
HashData(Byte[])

Вычисляет хэш данных с помощью алгоритма SHA512.

HashData(ReadOnlySpan<Byte>)

Вычисляет хэш данных с помощью алгоритма SHA512.

HashData(ReadOnlySpan<Byte>, Span<Byte>)

Вычисляет хэш данных с помощью алгоритма SHA512.

HashData(Stream)

Вычисляет хэш потока с помощью алгоритма SHA512.

HashData(Stream, Span<Byte>)

Вычисляет хэш потока с помощью алгоритма SHA512.

HashDataAsync(Stream, CancellationToken)

Асинхронно вычисляет хэш потока с помощью алгоритма SHA512.

HashDataAsync(Stream, Memory<Byte>, CancellationToken)

Асинхронно вычисляет хэш потока с помощью алгоритма SHA512.

HashFinal()

Если переопределено в производном классе, завершает вычисление хэша после обработки последних данных криптографическим хэш-алгоритмом.

(Унаследовано от HashAlgorithm)
Initialize()

Сбрасывает хэш-алгоритм в исходное состояние.

(Унаследовано от HashAlgorithm)
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>, Span<Byte>, Int32)

Пытается вычислить хэш данных с помощью алгоритма SHA512.

TryHashFinal(Span<Byte>, Int32)

Пытается завершить вычисление хэша после обработки последних данных хэш-алгоритмом.

(Унаследовано от HashAlgorithm)

Явные реализации интерфейса

IDisposable.Dispose()

Освобождает неуправляемые ресурсы, используемые объектом HashAlgorithm, а при необходимости освобождает также управляемые ресурсы.

(Унаследовано от HashAlgorithm)

Применяется к

См. также раздел