ECDiffieHellman.DeriveKeyFromHash 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用指定的哈希算法执行密钥派生。
重载
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName) |
使用指定的哈希算法执行密钥派生。 |
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[]) |
在派生类中实现时,使用指定的哈希算法对可选的添加数据或追加数据执行密钥派生。 |
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName)
- Source:
- ECDiffieHellman.cs
- Source:
- ECDiffieHellman.cs
- Source:
- 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
为 null
。
注解
此重载调用 DeriveKeyFromHash 作为前面和追加值传递 null
的方法。
适用于
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[])
- Source:
- ECDiffieHellman.cs
- Source:
- ECDiffieHellman.cs
- Source:
- 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
为 null
。
注解
此方法在内部执行椭圆曲线 Diffie-Hellman 密钥协议,以生成共享机密 (z
) 。
此方法的返回值是使用指定哈希算法的结果 HASH(secretPrepend || z || secretAppend)
,其中 ||
表示串联。
如果 或 secretAppend
null
的secretPrepend
值为 ,则它们被视为空数组。