ECDiffieHellman.DeriveKeyFromHash Método

Definição

Executa a derivação de chave usando um algoritmo de hash especificado.

Sobrecargas

Nome Description
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

Executa a derivação de chave usando um algoritmo de hash especificado.

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

Quando implementado em uma classe derivada, executa a derivação de chave usando um algoritmo de hash especificado com dados pré-anexados ou acrescentados opcionais.

DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)

Executa a derivação de chave usando um algoritmo de hash especificado.

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()

Parâmetros

otherPartyPublicKey
ECDiffieHellmanPublicKey

A chave pública da outra parte.

hashAlgorithm
HashAlgorithmName

O algoritmo de hash a ser usado para derivar o material da chave.

Retornos

Byte[]

O hash do segredo compartilhado.

Exceções

A curva usada tem otherPartyPublicKey um tamanho diferente da curva dessa chave.

-ou-

O hashAlgorithm parâmetro não especifica um hash.

otherPartyPublicKey é null.

A curva usada é otherPartyPublicKey diferente da curva dessa chave.

-ou-

Essa instância representa apenas uma chave pública.

Comentários

Essa sobrecarga chama o DeriveKeyFromHash método que passa null como os valores de prefixo e acréscimo.

Aplica-se a

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

Quando implementado em uma classe derivada, executa a derivação de chave usando um algoritmo de hash especificado com dados pré-anexados ou acrescentados opcionais.

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);
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()

Parâmetros

otherPartyPublicKey
ECDiffieHellmanPublicKey

A chave pública da outra parte.

hashAlgorithm
HashAlgorithmName

O algoritmo de hash a ser usado para derivar o material da chave.

secretPrepend
Byte[]

Um valor a ser anexado ao segredo derivado antes do hash.

secretAppend
Byte[]

Um valor a ser acrescentado ao segredo derivado antes do hash.

Retornos

Byte[]

O hash do segredo compartilhado após anexar ou acrescentar dados conforme solicitado.

Exceções

Uma classe derivada deve substituir esse método.

A curva usada tem otherPartyPublicKey um tamanho diferente da curva dessa chave.

-ou-

O hashAlgorithm parâmetro não especifica um hash.

otherPartyPublicKey é null.

A curva usada é otherPartyPublicKey diferente da curva dessa chave.

-ou-

Essa instância representa apenas uma chave pública.

Comentários

Esse método executa internamente a curva elíptica Diffie-Hellman contrato de chave para produzir o segredo compartilhado (z). O valor retornado desse método é o resultado do uso do HASH(secretPrepend || z || secretAppend) algoritmo de hash especificado, em || que significa concatenação.

Se o valor de secretPrepend ou secretAppend for null, eles serão tratados como matrizes vazias.

Aplica-se a