HKDF.DeriveKey 方法

定义

重载

DeriveKey(HashAlgorithmName, Byte[], Int32, Byte[], Byte[])

Source:
HKDF.cs
Source:
HKDF.cs
Source:
HKDF.cs

执行密钥派生 HKDF 展开和提取功能。

C#
public static byte[] DeriveKey(System.Security.Cryptography.HashAlgorithmName hashAlgorithmName, byte[] ikm, int outputLength, byte[]? salt = default, byte[]? info = default);

参数

hashAlgorithmName
HashAlgorithmName

用于 HMAC 操作的哈希算法。

ikm
Byte[]

输入密钥内容。

outputLength
Int32

输出密钥内容的长度。

salt
Byte[]

可选的盐值(非机密随机值)。 如果没有提供,则默认为与指定的哈希算法输出长度相同的字节数组。

info
Byte[]

可选的上下文和应用程序具体信息。

返回

Byte[]

输出密钥内容。

例外

ikmnull

outputLength 小于 1。

适用于

.NET 10 和其他版本
产品 版本
.NET 5, 6, 7, 8, 9, 10

DeriveKey(HashAlgorithmName, ReadOnlySpan<Byte>, Span<Byte>, ReadOnlySpan<Byte>, ReadOnlySpan<Byte>)

Source:
HKDF.cs
Source:
HKDF.cs
Source:
HKDF.cs

执行密钥派生 HKDF 展开和提取功能。

C#
public static void DeriveKey(System.Security.Cryptography.HashAlgorithmName hashAlgorithmName, ReadOnlySpan<byte> ikm, Span<byte> output, ReadOnlySpan<byte> salt, ReadOnlySpan<byte> info);

参数

hashAlgorithmName
HashAlgorithmName

用于 HMAC 操作的哈希算法。

ikm
ReadOnlySpan<Byte>

输入密钥内容。

output
Span<Byte>

表示输出密钥内容的输出缓冲区。

salt
ReadOnlySpan<Byte>

盐值(非机密随机值)。

info
ReadOnlySpan<Byte>

上下文和应用程序具体信息(可以为空跨度)。

例外

ikm 为空或大于允许的最大长度。

适用于

.NET 10 和其他版本
产品 版本
.NET 5, 6, 7, 8, 9, 10