ECDsa.SignData 方法

定义

计算指定数据的哈希值,并对其进行签名。

重载

SignData(Byte[], HashAlgorithmName)

使用指定的哈希算法计算指定字节数组的哈希值,并对生成的哈希值进行签名。

SignData(Stream, HashAlgorithmName)

使用指定的哈希算法计算指定流的哈希值,并对生成的哈希值进行签名。

SignData(ReadOnlySpan<Byte>, HashAlgorithmName)

计算指定数据的哈希值,并对其进行签名。

SignData(Byte[], HashAlgorithmName, DSASignatureFormat)

计算指定数据的哈希值,并使用指定的签名格式对其进行签名。

SignData(Stream, HashAlgorithmName, DSASignatureFormat)

计算指定数据的哈希值,并使用指定的签名格式对其进行签名。

SignData(ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

计算指定数据的哈希值,并使用指定的签名格式对其进行签名。

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

计算指定数据的哈希值,并将其以指示的格式签名到提供的缓冲区中。

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

使用指定的哈希算法计算指定字节数组的一个部分的哈希值,并对生成的哈希值进行签名。

SignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, DSASignatureFormat)

计算指定数据的哈希值,并将其以指示的格式签名到提供的缓冲区中。

SignData(Byte[], Int32, Int32, HashAlgorithmName, DSASignatureFormat)

计算指定数据的哈希值,并使用指定的签名格式对其进行签名。

SignData(Byte[], HashAlgorithmName)

Source:
ECDsa.cs
Source:
ECDsa.cs
Source:
ECDsa.cs

使用指定的哈希算法计算指定字节数组的哈希值,并对生成的哈希值进行签名。

C#
public virtual byte[] SignData (byte[] data, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);

参数

data
Byte[]

要为其计算哈希的输入数据。

hashAlgorithm
HashAlgorithmName

要用于创建哈希值的哈希算法。

返回

Byte[]

指定数据的 ECDSA 签名。

例外

datanull

hashAlgorithm.NamenullEmpty

适用于

.NET 9 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.4, 1.6, 2.0, 2.1

SignData(Stream, HashAlgorithmName)

Source:
ECDsa.cs
Source:
ECDsa.cs
Source:
ECDsa.cs

使用指定的哈希算法计算指定流的哈希值,并对生成的哈希值进行签名。

C#
public virtual byte[] SignData (System.IO.Stream data, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);

参数

data
Stream

要为其计算哈希的输入流。

hashAlgorithm
HashAlgorithmName

要用于创建哈希值的哈希算法。

返回

Byte[]

指定数据的 ECDSA 签名。

例外

datanull

hashAlgorithm.NamenullEmpty

适用于

.NET 9 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.4, 1.6, 2.0, 2.1

SignData(ReadOnlySpan<Byte>, HashAlgorithmName)

Source:
ECDsa.cs
Source:
ECDsa.cs
Source:
ECDsa.cs

计算指定数据的哈希值,并对其进行签名。

C#
public byte[] SignData (ReadOnlySpan<byte> data, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);

参数

data
ReadOnlySpan<Byte>

要进行哈希处理和签名的数据。

hashAlgorithm
HashAlgorithmName

要用于创建哈希值的哈希算法。

返回

Byte[]

指定数据的 ECDSA 签名。

例外

hashAlgorithmName 是空字符串。

hashAlgorithm Name的 为 null

注解

此方法将使用 IeeeP1363FixedFieldConcatenation 对签名进行编码。 若要使用不同的签名格式,请使用 SignData(ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

适用于

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

SignData(Byte[], HashAlgorithmName, DSASignatureFormat)

Source:
ECDsa.cs
Source:
ECDsa.cs
Source:
ECDsa.cs

计算指定数据的哈希值,并使用指定的签名格式对其进行签名。

C#
public byte[] SignData (byte[] data, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.DSASignatureFormat signatureFormat);

参数

data
Byte[]

要签名的数据。

hashAlgorithm
HashAlgorithmName

要用于创建哈希值的哈希算法。

signatureFormat
DSASignatureFormat

用于签名的编码格式。

返回

Byte[]

指定数据的 ECDSA 签名。

例外

datanull

signatureFormat 不是已知格式。

hashAlgorithm 具有 null 或空的 Name

哈希处理或签名时出错。

适用于

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

SignData(Stream, HashAlgorithmName, DSASignatureFormat)

Source:
ECDsa.cs
Source:
ECDsa.cs
Source:
ECDsa.cs

计算指定数据的哈希值,并使用指定的签名格式对其进行签名。

C#
public byte[] SignData (System.IO.Stream data, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.DSASignatureFormat signatureFormat);

参数

data
Stream

要签名的数据。

hashAlgorithm
HashAlgorithmName

要用于创建哈希值的哈希算法。

signatureFormat
DSASignatureFormat

用于签名的编码格式。

返回

Byte[]

指定数据的 ECDSA 签名。

例外

datanull

signatureFormat 不是已知格式。

hashAlgorithm 具有 null 或空的 Name

哈希处理或签名时出错。

适用于

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

SignData(ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Source:
ECDsa.cs
Source:
ECDsa.cs
Source:
ECDsa.cs

计算指定数据的哈希值,并使用指定的签名格式对其进行签名。

C#
public byte[] SignData (ReadOnlySpan<byte> data, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.DSASignatureFormat signatureFormat);

参数

data
ReadOnlySpan<Byte>

要进行哈希处理和签名的数据。

hashAlgorithm
HashAlgorithmName

要用于创建哈希值的哈希算法。

signatureFormat
DSASignatureFormat

用于签名的编码格式。

返回

Byte[]

指定数据的 ECDSA 签名。

例外

hashAlgorithmName 是空字符串。

hashAlgorithm Name的 为 null

signatureFormat 不是已知格式。

适用于

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

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

Source:
ECDsa.cs
Source:
ECDsa.cs
Source:
ECDsa.cs

计算指定数据的哈希值,并将其以指示的格式签名到提供的缓冲区中。

C#
public int SignData (ReadOnlySpan<byte> data, Span<byte> destination, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);

参数

data
ReadOnlySpan<Byte>

要进行哈希处理和签名的数据。

destination
Span<Byte>

要接收签名的缓冲区。

hashAlgorithm
HashAlgorithmName

要用于创建哈希值的哈希算法。

返回

写入 destination 的总字节数。

例外

hashAlgorithmName 是空字符串。

-或-

中的 destination 缓冲区太小,无法保存签名。

hashAlgorithm Name的 为 null

注解

此方法将使用 IeeeP1363FixedFieldConcatenation 对签名进行编码。 若要使用不同的签名格式,请使用 SignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, DSASignatureFormat)

适用于

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

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

Source:
ECDsa.cs
Source:
ECDsa.cs
Source:
ECDsa.cs

使用指定的哈希算法计算指定字节数组的一个部分的哈希值,并对生成的哈希值进行签名。

C#
public virtual byte[] SignData (byte[] data, int offset, int count, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);

参数

data
Byte[]

要为其计算哈希的输入数据。

offset
Int32

数组中自其开始使用数据的偏移量。

count
Int32

数组中用作数据的字节数。

hashAlgorithm
HashAlgorithmName

要用于创建哈希值的哈希算法。

返回

Byte[]

指定数据的 ECDSA 签名。

例外

datanull

hashAlgorithm.NamenullEmpty

offset 小于零。

count 小于零。

offset + count - 1 会导致超出 data 上限的索引。

适用于

.NET 9 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.4, 1.6, 2.0, 2.1

SignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, DSASignatureFormat)

Source:
ECDsa.cs
Source:
ECDsa.cs
Source:
ECDsa.cs

计算指定数据的哈希值,并将其以指定格式签名到提供的缓冲区中。

C#
public int SignData (ReadOnlySpan<byte> data, Span<byte> destination, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.DSASignatureFormat signatureFormat);

参数

data
ReadOnlySpan<Byte>

要进行哈希处理和签名的数据。

destination
Span<Byte>

要接收签名的缓冲区。

hashAlgorithm
HashAlgorithmName

要用于创建哈希值的哈希算法。

signatureFormat
DSASignatureFormat

要用于签名的编码格式。

返回

写入 destination 的总字节数。

例外

hashAlgorithmName 是空字符串。

-或-

中的 destination 缓冲区太小,无法保存签名。

hashAlgorithm Name的 为 null

signatureFormat 不是已知格式。

适用于

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

SignData(Byte[], Int32, Int32, HashAlgorithmName, DSASignatureFormat)

Source:
ECDsa.cs
Source:
ECDsa.cs
Source:
ECDsa.cs

计算指定数据的哈希值,并使用指定的签名格式对其进行签名。

C#
public byte[] SignData (byte[] data, int offset, int count, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.DSASignatureFormat signatureFormat);

参数

data
Byte[]

要签名的数据。

offset
Int32

data 中自其开始使用哈希处理的偏移量。

count
Int32

要从 data 中读取的字节数。

hashAlgorithm
HashAlgorithmName

要用于创建哈希值的哈希算法。

signatureFormat
DSASignatureFormat

要用于签名的编码格式。

返回

Byte[]

指定数据的 ECDSA 签名。

例外

datanull

signatureFormat 不是已知格式。

- 或 -

offset 小于零。

count 小于零。

offset + count - 1 会导致超出 data 上限的索引。

hashAlgorithm 具有 null 或空的 Name

哈希处理或签名时出错。

适用于

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