DSASignatureFormatter 类

定义

创建数字签名算法 (DSA) 签名。

public ref class DSASignatureFormatter : System::Security::Cryptography::AsymmetricSignatureFormatter
public class DSASignatureFormatter : System.Security.Cryptography.AsymmetricSignatureFormatter
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public class DSASignatureFormatter : System.Security.Cryptography.AsymmetricSignatureFormatter
[System.Runtime.InteropServices.ComVisible(true)]
public class DSASignatureFormatter : System.Security.Cryptography.AsymmetricSignatureFormatter
type DSASignatureFormatter = class
    inherit AsymmetricSignatureFormatter
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type DSASignatureFormatter = class
    inherit AsymmetricSignatureFormatter
[<System.Runtime.InteropServices.ComVisible(true)>]
type DSASignatureFormatter = class
    inherit AsymmetricSignatureFormatter
Public Class DSASignatureFormatter
Inherits AsymmetricSignatureFormatter
继承
DSASignatureFormatter
属性

示例

using System;
using System.Security.Cryptography;

class DSASample
{
        
    static void Main()
    {
        try
        {
            //Create a new instance of DSA.
            DSA DSA = DSA.Create();

            //The hash to sign.
            byte[] Hash = {59,4,248,102,77,97,142,201,210,12,224,93,25,41,100,197,213,134,130,135};

            //Create an DSASignatureFormatter object and pass it the 
            //DSA instance to transfer the key information.
            DSASignatureFormatter DSAFormatter = new DSASignatureFormatter(DSA);

            //Set the hash algorithm to SHA1.
            DSAFormatter.SetHashAlgorithm("SHA1");

            //Create a signature for HashValue and return it.
            byte[] SignedHash = DSAFormatter.CreateSignature(Hash);
        }
        catch(CryptographicException e)
        {
            Console.WriteLine(e.Message);
        }
    }
}
Imports System.Security.Cryptography

 _

Class DSASample


    Shared Sub Main()
        Try
            'Create a new instance of DSA.
            Dim DSA As DSA = DSA.Create()

            'The hash to sign.
            Dim Hash As Byte() = {59, 4, 248, 102, 77, 97, 142, 201, 210, 12, 224, 93, 25, 41, 100, 197, 213, 134, 130, 135}

            'Create an DSASignatureFormatter object and pass it the 
            'DSA instance to transfer the key information.
            Dim DSAFormatter As New DSASignatureFormatter(DSA)

            'Set the hash algorithm to SHA1.
            DSAFormatter.SetHashAlgorithm("SHA1")

            'Create a signature for HashValue and return it.
            Dim SignedHash As Byte() = DSAFormatter.CreateSignature(Hash)

        Catch e As CryptographicException
            Console.WriteLine(e.Message)
        End Try
    End Sub
End Class

注解

Important

DSA 算法的创建者已经撤回了对它的支持。 请考虑使用 RSA 类或 ECDsa 类而不是 DSA 类。 仅用于 DSA 与旧应用程序和数据的兼容性。

构造函数

名称 说明
DSASignatureFormatter()

初始化 DSASignatureFormatter 类的新实例。

DSASignatureFormatter(AsymmetricAlgorithm)

使用指定的键初始化类的新实例 DSASignatureFormatter

方法

名称 说明
CreateSignature(Byte[])

为指定的数据创建数字签名算法 (DSA) PKCS #1 签名。

CreateSignature(HashAlgorithm)

从指定的哈希值创建签名。

(继承自 AsymmetricSignatureFormatter)
Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
SetHashAlgorithm(String)

指定数字签名算法 (DSA) 签名格式化程序的哈希算法。

SetKey(AsymmetricAlgorithm)

指定要用于数字签名算法(DSA) 签名格式化程序的关键。

ToString()

返回一个表示当前对象的字符串。

(继承自 Object)

适用于

另请参阅