DSASignatureFormatter.CreateSignature(Byte[]) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
對指定的資料建立數位簽章演算法 (DSA) PKCS #1 的簽章。
public:
override cli::array <System::Byte> ^ CreateSignature(cli::array <System::Byte> ^ rgbHash);
public override byte[] CreateSignature (byte[] rgbHash);
override this.CreateSignature : byte[] -> byte[]
Public Overrides Function CreateSignature (rgbHash As Byte()) As Byte()
參數
- rgbHash
- Byte[]
要簽署的資料。
傳回
Byte[]
指定資料的數位簽章。
例外狀況
rgbHash
為 null
。
範例
#using <System.dll>
using namespace System;
using namespace System::Security::Cryptography;
int main()
{
try
{
//Create a new instance of DSA.
DSA^ DSA = DSA::Create();
//The hash to sign.
array<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 = gcnew DSASignatureFormatter( DSA );
//Set the hash algorithm to SHA1.
DSAFormatter->SetHashAlgorithm( "SHA1" );
//Create a signature for HashValue and return it.
array<Byte>^SignedHash = DSAFormatter->CreateSignature( Hash );
}
catch ( CryptographicException^ e )
{
Console::WriteLine( e->Message );
}
}
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
備註
您可以使用 來驗證 VerifySignature產生的簽章數據。