語言

DSASignatureDeformatter 類別

定義

驗證數位簽章演算法(DSAPKCS#1 v1.5)簽章。

public ref class DSASignatureDeformatter : System::Security::Cryptography::AsymmetricSignatureDeformatter
public class DSASignatureDeformatter : System.Security.Cryptography.AsymmetricSignatureDeformatter
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public class DSASignatureDeformatter : System.Security.Cryptography.AsymmetricSignatureDeformatter
[System.Runtime.InteropServices.ComVisible(true)]
public class DSASignatureDeformatter : System.Security.Cryptography.AsymmetricSignatureDeformatter
type DSASignatureDeformatter = class
    inherit AsymmetricSignatureDeformatter
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type DSASignatureDeformatter = class
    inherit AsymmetricSignatureDeformatter
[<System.Runtime.InteropServices.ComVisible(true)>]
type DSASignatureDeformatter = class
    inherit AsymmetricSignatureDeformatter
Public Class DSASignatureDeformatter
Inherits AsymmetricSignatureDeformatter
繼承
DSASignatureDeformatter
屬性

範例

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);

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

            //Verify the hash and display the results to the console.
            if(DSADeformatter.VerifySignature(Hash, SignedHash))
            {
                Console.WriteLine("The signature was verified.");
            }
            else
            {
                Console.WriteLine("The signature was not verified.");
            }
        }
        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)

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

            'Verify the hash and display the results to the console.
            If DSADeformatter.VerifySignature(Hash, SignedHash) Then
                Console.WriteLine("The signature was verified.")
            Else
                Console.WriteLine("The signature was not verified.")
            End If

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

備註

Important

DSA 演算法的創建者已撤回對其的支持。 考慮用 class 或 RSA class 代替 ECDsa class DSA 。 僅用於 DSA 與舊有應用程式及資料相容性。

建構函式

名稱 Description
DSASignatureDeformatter()

初始化 DSASignatureDeformatter 類別的新執行個體。

DSASignatureDeformatter(AsymmetricAlgorithm)

初始化一個新的類別實例 DSASignatureDeformatter ,使用指定的鍵值。

方法

名稱 Description
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetType()

取得目前實例的 Type。

(繼承來源 Object)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
SetHashAlgorithm(String)

指定數位簽章演算法(DSA)簽名變形器的雜湊演算法。

SetKey(AsymmetricAlgorithm)

指定用於數位簽章演算法(DSA)簽章變形器的金鑰。

ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)
VerifySignature(Byte[], Byte[])

驗證資料上的數位簽章演算法(DSA)簽名。

VerifySignature(HashAlgorithm, Byte[])

驗證從指定的雜湊值驗證簽名。

(繼承來源 AsymmetricSignatureDeformatter)

適用於

另請參閱