AesGcm.Encrypt 方法

定义

重载

Encrypt(Byte[], Byte[], Byte[], Byte[], Byte[])

将纯文本加密到已加密文本目标缓冲区,并将身份验证标签生成到单独的缓冲区中。

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

将纯文本加密到已加密文本目标缓冲区,并将身份验证标签生成到单独的缓冲区中。

Encrypt(Byte[], Byte[], Byte[], Byte[], Byte[])

Source:
AesGcm.cs
Source:
AesGcm.cs
Source:
AesGcm.cs

将纯文本加密到已加密文本目标缓冲区,并将身份验证标签生成到单独的缓冲区中。

C#
public void Encrypt(byte[] nonce, byte[] plaintext, byte[] ciphertext, byte[] tag, byte[]? associatedData = default);
C#
public void Encrypt(byte[] nonce, byte[] plaintext, byte[] ciphertext, byte[] tag, byte[] associatedData = default);

参数

nonce
Byte[]

与此消息相关联的 nonce。对于具有相同密钥的每个操作,它应该是唯一值。

plaintext
Byte[]

要加密的内容。

ciphertext
Byte[]

接收加密内容的字节数组。

tag
Byte[]

接收生成的身份验证标记的字节数组。

associatedData
Byte[]

与此消息关联的额外数据。该数据还必须在解密过程中提供。

例外

plaintext 参数和 ciphertext 的长度不同。

- 或 -

nonce 参数长度不被 NonceByteSizes 所允许。

- 或 -

tag 参数长度不被 TagByteSizes 所允许。

nonceciphertexttagplaintext 参数为 null

加密操作失败。

注解

AES-GCM 算法模式的安全性保证要求,同一个 nonce 值永远不会使用相同的密钥使用两次。

适用于

.NET 10 和其他版本
产品 版本
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Standard 2.1

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

Source:
AesGcm.cs
Source:
AesGcm.cs
Source:
AesGcm.cs

将纯文本加密到已加密文本目标缓冲区,并将身份验证标签生成到单独的缓冲区中。

C#
public void Encrypt(ReadOnlySpan<byte> nonce, ReadOnlySpan<byte> plaintext, Span<byte> ciphertext, Span<byte> tag, ReadOnlySpan<byte> associatedData = default);

参数

nonce
ReadOnlySpan<Byte>

与此消息相关联的 nonce。对于具有相同密钥的每个操作,它应该是唯一值。

plaintext
ReadOnlySpan<Byte>

要加密的内容。

ciphertext
Span<Byte>

接收加密内容的字节数组。

tag
Span<Byte>

接收生成的身份验证标记的字节数组。

associatedData
ReadOnlySpan<Byte>

与此消息关联的额外数据。该数据还必须在解密过程中提供。

例外

plaintext 参数和 ciphertext 的长度不同。

- 或 -

nonce 参数长度不被 NonceByteSizes 所允许。

- 或 -

tag 参数长度不被 TagByteSizes 所允许。

加密操作失败。

注解

AES-GCM 算法模式的安全性保证要求,同一个 nonce 值永远不会使用相同的密钥使用两次。

适用于

.NET 10 和其他版本
产品 版本
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Standard 2.1