ECDiffieHellman.DeriveKeyFromHash Метод

Определение

Выполняет производный ключ с помощью указанного хэш-алгоритма.

Перегрузки

Имя Описание
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

Выполняет производный ключ с помощью указанного хэш-алгоритма.

DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[])

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

DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

Исходный код:
ECDiffieHellman.cs
Исходный код:
ECDiffieHellman.cs
Исходный код:
ECDiffieHellman.cs
Исходный код:
ECDiffieHellman.cs
Исходный код:
ECDiffieHellman.cs

Выполняет производный ключ с помощью указанного хэш-алгоритма.

public:
 cli::array <System::Byte> ^ DeriveKeyFromHash(System::Security::Cryptography::ECDiffieHellmanPublicKey ^ otherPartyPublicKey, System::Security::Cryptography::HashAlgorithmName hashAlgorithm);
public byte[] DeriveKeyFromHash(System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
member this.DeriveKeyFromHash : System.Security.Cryptography.ECDiffieHellmanPublicKey * System.Security.Cryptography.HashAlgorithmName -> byte[]
Public Function DeriveKeyFromHash (otherPartyPublicKey As ECDiffieHellmanPublicKey, hashAlgorithm As HashAlgorithmName) As Byte()

Параметры

otherPartyPublicKey
ECDiffieHellmanPublicKey

Открытый ключ другой стороны.

hashAlgorithm
HashAlgorithmName

Хэш-алгоритм, используемый для получения материала ключа.

Возвращаемое значение

Byte[]

Хэш общего секрета.

Исключения

Кривая, используемая с помощью этого ключа, отличается otherPartyPublicKey от размера кривой.

–или–

Параметр hashAlgorithm не задает хэш.

otherPartyPublicKey равно null.

Кривая, используемая otherPartyPublicKey по сравнению с кривой из этого ключа.

–или–

Этот экземпляр представляет только открытый ключ.

Комментарии

Эта перегрузка DeriveKeyFromHash вызывает метод, передаваемый null в качестве предустановленных и добавочных значений.

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

DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[])

Исходный код:
ECDiffieHellman.cs
Исходный код:
ECDiffieHellman.cs
Исходный код:
ECDiffieHellman.cs
Исходный код:
ECDiffieHellman.cs
Исходный код:
ECDiffieHellman.cs

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

public:
 virtual cli::array <System::Byte> ^ DeriveKeyFromHash(System::Security::Cryptography::ECDiffieHellmanPublicKey ^ otherPartyPublicKey, System::Security::Cryptography::HashAlgorithmName hashAlgorithm, cli::array <System::Byte> ^ secretPrepend, cli::array <System::Byte> ^ secretAppend);
public virtual byte[] DeriveKeyFromHash(System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[]? secretPrepend, byte[]? secretAppend);
public virtual byte[] DeriveKeyFromHash(System.Security.Cryptography.ECDiffieHellmanPublicKey otherPartyPublicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[] secretPrepend, byte[] secretAppend);
abstract member DeriveKeyFromHash : System.Security.Cryptography.ECDiffieHellmanPublicKey * System.Security.Cryptography.HashAlgorithmName * byte[] * byte[] -> byte[]
override this.DeriveKeyFromHash : System.Security.Cryptography.ECDiffieHellmanPublicKey * System.Security.Cryptography.HashAlgorithmName * byte[] * byte[] -> byte[]
Public Overridable Function DeriveKeyFromHash (otherPartyPublicKey As ECDiffieHellmanPublicKey, hashAlgorithm As HashAlgorithmName, secretPrepend As Byte(), secretAppend As Byte()) As Byte()

Параметры

otherPartyPublicKey
ECDiffieHellmanPublicKey

Открытый ключ другой стороны.

hashAlgorithm
HashAlgorithmName

Хэш-алгоритм, используемый для получения материала ключа.

secretPrepend
Byte[]

Значение, которое необходимо добавить в производный секрет перед хэшированием.

secretAppend
Byte[]

Значение для добавления в производный секрет перед хэшированием.

Возвращаемое значение

Byte[]

Хэш общего секрета после подготовки или добавления данных по запросу.

Исключения

Производный класс должен переопределить этот метод.

Кривая, используемая с помощью этого ключа, отличается otherPartyPublicKey от размера кривой.

–или–

Параметр hashAlgorithm не задает хэш.

otherPartyPublicKey равно null.

Кривая, используемая otherPartyPublicKey по сравнению с кривой из этого ключа.

–или–

Этот экземпляр представляет только открытый ключ.

Комментарии

Этот метод внутренне выполняет Diffie-Hellman ключевое соглашение с эллиптической кривой для создания общего секрета (z). Возвращаемое значение из этого метода является результатом HASH(secretPrepend || z || secretAppend) использования указанного хэш-алгоритма, где || обозначает объединение.

Если значение secretPrepend или secretAppend есть null, они обрабатываются как пустые массивы.

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